5.1用户身份与能力
RHEL7系统中,有以下用户:(管理员UID为0,并不一定是root用户)
- 管理员UID为0:系统的管理员用户。
- 系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。(RHEL5/6 UID:1-499)
- 普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。(RHEL5/6 UID:500-65535)
5.1.1useradd
- useadd+用户名创建的账户默认存放在/home目录中,默认bash解释器为/bin/bash,且会默认创建与用户名相同的用户组。
- 若将用户bash解释器指定为/sbin/nologin,则该用户不能登陆系统。
下图中的参数可在添加用户可执行相关操作
5.1.2groupadd
用于创建用户组,格式为“groupadd 用户组”
5.1.3usermod:usermod [参数] 用户名
用于修改用户的属性,例如UID、基本/扩展组、默认终端,也可以直接在/etc/passwd文件中修改
5.1.4passwd
管理员用户可充值所有用户密码,普通用户值能重置自己的密码
–stdin参数是允许将标准输入作为用户密码,如上图所示:
5.1.5userdel
用于删除用户,格式为userdel [参数] 用户名
5.2文件权限与归属
- -:普通文件
- d:目录文件
- l:链接文件
- b:块设备文件
- c:字符设备文件
- p:管道文件
- 对于目录文件来收,"可读"表示能够读取文件目录内的文件列表;"可写"表示能够在目录内新增、删除、重命名文件;"可执行"表示能够进入该目录。
- 文件的读、写、执行权限为rwx,用数字4、2、1表示,文件所有者、所属组及其他用户之间没有关联。
5.3文件的特殊权限
5.3.1SUID(chmod u+s filename)
SUID可让程序执行者临时拥有所有者的权限,例如,所有用户都可以执行passwd命令来修改自己的用户密码,而用户密码保存在/etc/shadow文件中。仔细查看这个文件就会发现它的默认权限是000,也就是说除了root管理员以外,所有用户都没有查看或编辑该文件的权限。但是,在使用passwd命令时如果加上SUID特殊权限位,就可让普通用户临时获得程序所有者的身份
如果原来的权限位上没有x执行权限,赋予特殊权限后将变为大写S,若有x执行权限,则为小写s
5.3.2SGID(chmod -R g+s filename)
主要功能
- 让执行者零时拥有组所有者的权限
- 在某个目录中创建的文件自动继承该目录的用户组(只能对目录进行设置)
如果原来的权限位上没有x执行权限,赋予特殊权限后将变为大写S,若有x执行权限,则为小写s
5.3.3SBIT(chmod -R o+t filename)
如果原来的权限位上没有x执行权限,赋予特殊权限后将变为大写T,若有x执行权限,则为小写t
5.4文件的隐藏属性
5.4.1chattr
chattr命令用于设置文件的隐藏权限,格式为“chattr [参数]
文件”。如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件,则需要追加“-参数”。
5.4.2lsattr
5.5文件访问控制列表
5.5.1 setfacl
该命令用于管理文件的ACL规则,目录使用-R参数,普通文件则使用-m参数,若要删除某个文件的ACL则用-b参数
5.5.2getfacl
该命令用于显示文件上设置的ACL信息
5.6su命令与sudo服务