用户身份与文件权限
Linux是一个多用户、多任务的操作系统,具有很好的稳定性与安全性。
本节将详细了解文件的所有者、所属组以及其他人可对文件进行的读(r)、写(w)、执行(x)等操作。
一、 在RHEL7系统中用户身份有下面这些
-
管理员UID为0:系统的管理员用户
-
系统用户UID为1~999:Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效的控制被破坏范围。
-
普通用户UID从1000开始:是由管理员创建的用于日常工作的用户
需要注意的是,UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的UID号码)
1.useradd 命令
useradd命令用于创建新的用户,格式为sueradd[选项] 用户名
2.groupadd 命令
groupadd命令用于创建用户组,格式为groupadd[选项] 群组名
3.usermod 命令
usermod命令用于修改用户的属性,格式为usermod [选项] 用户名
4.passwd 命令
passwd命令用于修改用户密码,过期时间,认证信息等,格式为“passwd[选项] [用户名]”
- userdel 命令
userdel命令用于删除用户,格式为“userdel[选项] 用户名”
二、文件权限与归属
- -:普通文件
- d:目录文件
- l:链接文件
- b:块设备文件
- c:字符设备文件
- p:管道文件
对于目录:
r:查看目录内的文件列表
w:能在目录内新建,删除,重命名
x:进入目录的权限
对于文件:
r:读取文件的内容权限
w:对文件进行修改权限
x:如果文件是脚本文件代表可执行
三、文件的特殊权限
SUID:chmod u+s
SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)
SGID:chmod g+s
在某个目录中创建的文件自动继承该目录的用户组
chmod:修改权限,+ 权限文件 ,-权限文件
chowd:修改属性信息(所有者:所属组)文件
SBIT :chmod o+t
SBIT特殊权限位可保护用户只能删除自己的文件,而不能删除其他用户的文件。
四、文件的隐藏属性
chattr 命令
chattr命令用于设置文件的隐藏属性,格式为“chattr [参数] 文件”,如果想要把某个隐藏功能追加在文件上,则需要在命令后面追加“+参数”。如果想要把某个隐藏功能移除文件则需要追加“-参数”
lsattr 命令
lsattr命令用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”,在Linux系统中,文件隐藏权限必须使用lsattr命令来查看
五、文件访问控制列表
setfacl 命令
setfacl命令用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称”,
-R:针对目录文件
-m:针对普通文件
-b:删除某个文件的ACL
getfacl 命令
getfacl 命令用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”
六、su命令与sudo服务
su 命令
su 命令可以解决用户身份的需求,使得当前用户在不退出登录的情况下,顺畅切换到其他用户,比如从root管理员切换至普通用户。
sudo服务
sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。