权限计算方式文件默认权限:644目录默认权限:755umask:用来设置权限计算参考值#file:666-umask=666-022=644偶数操作#file:666-umask=666-033=633+011=644奇数运算#Directory:777-umask=777-022=755奇数运算和偶数运算没有区别为什么umask永久设置为022:查看/etc/profile文件if[$UID-gt199]&&["`/usr/bin/id-gn`"="`/usr/bin/id-un`"]如果条件01&&><=>=<=≠gtlteqgelenethenthenumask002elseelseumask022fi用户相关命令介绍张三运维部sa_zhangsansa组1000~2000李四开发部dev_lisi开发组2001~3000王五数据库部分db_wangwudb组3001~4000老男孩all-roundersa_oldboysagroupdevdbuseradd添加用户信息-g--指定用户具体属于哪个组(主组)-G---指定用户具体属于哪个组(附属组)-u---指定用户ID信息(uid)-c---指定用户描述信息-M---表示不创建家目录-s---表示指定用户登录方式用户登录系统设置方式:可以登录:/bin/bash无法登录:/sbin/nologin=====================================用户和组关系:1对1关系:一个用户用户属于一个组1对多关系:一个用户属于多个组n对1关系:多个用户属于一个组n对n关系:多个用户属于多个组=====================================passwd交互修改用户密码信息setpassword:#passwdsa_zhangsanchangeusersa_zhangsanpasswordnewpassword:invalidpassword:lesspassword重新输入8个字符以内的新密码:passwd:所有身份验证令牌已成功更新。普通用户设置和修改密码复杂度要求:长度不能小于8个字符密码需要有字符组合:Zaq!abcd1非交互式密码设置:echo654321|passwd--stdinsa_zhangsan小测验:*如何创建multipleusersoldboy01oldboy02oldboy03andevery每个用户的密码信息为123456由一个命令创建(之前只是一个总结)为单个用户创建并设置密码:useraddoldboy01;echo123456|passwd--stdinoldboy01批量为多个用户创建和设置密码useraddoldboy01;echo123456|passwd--stdinoldboy01useraddoldboy02;echo123456|passwd--stdinoldboy02useraddoldboy03;echo123456|passwd--stdinoldboy03通过命令输出以上三行命令信息echo{01..03}|xargs-n1|sed-r's#(..)#useraddoldboy\1;echo123456|passwd--stdinoldboy\1#g'useraddoldboy01;echo123456|passwd--stdinoldboy01useraddoldboy02;echo123456|passwd--stdinoldboy02useraddoldboy03;echo123456|passwd--stdinoldboy03echo{01..03}|xargs-n1|sed-r's#(..)#useraddoldboy\1;echo123456|passwd--stdinoldboy\1#g'|bash更改用户oldboy01的密码。passwd:所有身份验证令牌已成功更新。更改用户oldboy02的密码。passwd:所有身份验证令牌已成功更新。更改用户oldboy03的密码。passwd:所有身份验证令牌已成功更新。usermod:修改现有用户设置信息-g---修改用户属于哪个具体组(主组)-G---修改用户属于哪个具体组(附属组)-u---修改用户ID信息(uid)-c---修改用户描述信息-s---修改指定用户登录方式用户登录系统设置方式:可以登录:/bin/bash不能登录:/sbin/nologinuserdel:删除指定用户-r---彻底删除所有用户信息groupadd---提前创建指定用户组-g---指定用户组gid值w:显示当前登录系统用户信息15:00:06up4days系统已运行时间19:32系统登录时间2userslogged-inusersoadaverage:0.00,0.01,0.05分别代表系统一分钟、五分钟、十五分钟的平均系统负载15:00:06最多4天,19:32,2个用户,平均负载:0.00、0.01、0.05USERTTYFROMLOGIN@IDLEJCPUPCPUWHATroottty1Wed104days0.06s0.06s-bashrootpts/010.0.0.1Wed166.00s1.25s0.02sw从USER到WHAT分别代表登录用户登录客户端主机的登录方式Address登录时间空闲时间JCPU是指连接到tty终端的进程所占用的时间,不包括过去的后台作业时间;PCPU指的是当前进程占用的时间(即显示在w项)执行什么踢出指定用户的操作:第一个进程:查看连接用户的ssh会话进程id信息ps-ef|grepssh第二个进程:停止指定用户的会话进程(相当于踢出指定用户)kill进程号系统的重要目录和文件(用户相关文件)了解/etc/passwd---记录所有用户在系统用户信息root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/sync①②③④⑤⑥⑦①系统中已有用户名②系统用户密码信息③系统用户uid号④系统用户组gid号⑤系统用户描述信息⑥系统用户主目录路径信息⑦系统用户登录方式/etc/shadow---记录系统用户密码信息/etc/group---记录系统用户组信息/etc/gshadow---记录系统用户组密码信息/etc/skel/---保存用户主目录模板文件信息(样板间)面试题useraddUser:Createhomedirectory---cp/etc/skel/*/home/oldboy10/-bash-4.2$---这个发生在命令提示符下,表示你家已经被毁了。恢复方法:cp/etc/skel/.b*~/.bash_logout相对于/etc/rc.local用户权限升级设置概念解释:可以将root用户的权限分配给指定设置用户使用第一个进程:设置指定用户visudo的特殊权限---切换到第92行===vi/etc/sudoers\#92rootALL=(ALL)ALL①②③oldboyALL=(ALL)/bin/vim/etc/hosts,/bin/touch/etc/*①指定授予特殊权限的用户信息②可实现权限设置的集中管理③特殊权限信息的具体授予第二个过程:行使grantedprivilegessudo-l我们相信您已经收到了本地系统管理员的常规讲座。它通常归结为以下三点:#1)尊重他人的隐私。#2)打字前三思。#3)能力越大,责任越大。密码后在centosb上为root匹配默认条目:!visiblepw,always_set_home,match_group_by_gid,always_query_group_plugin,env_reset,env_keep="COLORSDISPLAYHOSTNAMEHISTSIZEKDEDIRLS_COLORS",env_keep+="MAILPS1PS2QTDIRUSERNAMELANGLC_ADDRESSLC_CTYPE",env_keep+="LC_COLLATELC_IDENTIFICATIONLC_MEASUREMENTLC_MESSAGES",env_keep+="LC_MONETARYLC_NAMELC_NUMERICLC_PAPERLC_TELEPHONE",env_keep+="LC_TIMELC_ALLLANGUAGELINGUAS_XKB_CHARSETXAUTHORITY",secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin用户root可以在centosb上运行以下命令:(ALL)ALL#visudoedituserpermissions#代表centosb拥有授权rightsEdithostsCreatefilesunderetc(plussudo)#注意cd等内置命令不能授权使用man查看内置命令centosb(ALL)/bin/vim/etc/hosts,/bin/touch/etc/*用户提权扩展说明:1)如何不输入密码使用权限:visudooldboyALL=(ALL)NOPASSWD:/bin/vim/etc/hosts,/bin/touch/etc/*2)危险的电源排除操作oldboyALL=(ALL)NOPASSWD:/bin/vim/etc/,!/bin/vim/etc/sudoers,/bin/touch/etc/系统特殊权限设置1)特殊权限位介绍9+3=12-bitpermissionsetuidpermissionbit(ownershipbitsetting):为命令文件设置特殊权限,使普通用户有能力执行命令文件ownerchmodu+scommandfiles=4setgidpermissionbit(ownershipbit)setting):设置命令文件特殊权限,让普通用户组有能力执行属于组的命令chmodg+scommandfiless=2stickypermissionbit(setbyotherusers):stickybit可以设置共享存储系统中的目录,目录中的数据可以相互共享查看,但只有文件所有者可以写入和删除,其他用户无法管理chmodo+t目录信息t=12)文件数据锁定权限setting文件被锁定后,系统内所有用户(包括root)都不能对该文件进行编辑和修改。给文件加锁权限:chattr+i/etc/hosts查看文件是否被锁:lsattr/etc/hosts解锁文件操作过程:chattr-i/etc/hosts作用:在企业重要文件数据可以信息锁定保护3)设置文件数据权限访问控制列表说明:一个数据文件可以被多个指定用户管理可以被多个指定用户组管理getfacl:查看文件访问控制列表信息chattr修改文件或特殊属性directory(扩展属性)a#Restrictfilestohavecertainfunctions这对日志文件很有用,比如不允许删除,只允许添加内容。b#不更新或修改文件或目录的最后存储时间c#压缩文件或目录并存储d#将文件或目录排除在转储操作之外i#锁定文件或目录,不被更改s#偷偷删除文件或目录S#动态实时更新文件或目录u#防止文件或目录被误删chattr[option]modefilelsattr[option]filelsattroptiondescription-E#显示属性的当前值-D#显示扩展属性的名称-R#recursive-V#显示版本信息-a#列出目录下的所有文件,包括隐藏文件#注意-E-D-R这三个选项不能一起使用,它们是相互的独家的。sed命令的使用方法功能说明:可以直接对文件内容进行编辑和修改语法格式:sed参数'条件指令(修改/添加/删除)'可以对文件进行文件信息:添加、删除、修改,查看操作:根据内容过滤文件信息:sed-n'/Python/p'test.txt---根据指定内容过滤单行信息oldboyPythonsed-rn'/Linux/,/mysql/p'test.txt---根据指定内容过滤连续多行内容sed-rn'/^#|^$/!p'/etc/selinux/config---根据指定内容反转过滤SELINUX=disabledSELINUXTYPE=targeted[root@bj-oldboy-muban~]#sed-rn'/^SELINUX|^SELINUXTYPE/p'/etc/selinux/config---根据指定内容过滤多行信息SELINUX=disabledSELINUXTYPE=targeted根据行号过滤文件信息:sed-n'2p'/etc/selinux/config---根据行号过滤内容sed-n'2,6p'/etc/selinux/config---根据行号过滤linenumberrangesed-n'7p;12p'/etc/selinux/config---根据行号过滤不连续的行信息,删除指定信息:sed-i'/mysql/d'test.txtsed-i.bak'/mysql/d'test.txt---删除文件信息[root@bj-oldboy-muban~]#lltest.txt.bak-rw-r--之前会备份源文件r--1rootroot67November2606:56test.txt.bak
