sudo命令
Linux文件系统权限管理
一、sudo命令
概念:
sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令
特性:
-
1、sudo能够限制用户只在某台主机上运行某些命令。
-
2、sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
-
3、通行证作用,免验证时间。
-
4、sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中的管理用户的使用权限和使用的主机。
编辑配置文件命令:visudo
二、Linux文件系统权限管理
1、权限对象:
-
1)文件拥有者:也称为文件的属主(owner)
-
2)群组:简单理解就是用户组(group)
-
3)其他人:对于非文件的拥有者,或者文件的所属组以外的人(others)
2、权限类型
1)Linux文件的属性
Linux权限基于UGO模型进行控制;
- U代表User,
- G代表Group,
- O代表Other;
每一个文件的权限基于UGO进行
设置 Linux的基本权限分为读、写、执行(r、w、x),可用数字4、2、1来表示
-
属主:用户若是文件的主人,则匹配属主的权限,权限在文件的左三位,即第一个rwx
-
属组:用户与属组在同一个组,则匹配属组的权限,权限在文件的中三位,即第二个rwx
-
其他:用户既不是属主也不是属组,则匹配其他的权限,权限在文件的右三位,即第三个rwx
eg:
rw-rw-r–(664)
rwxrwxr-x(775)
rwxr-x—(750)
rw------(600)
rwxr-xr-x(755)
3、r、w、x权限说明
1)对于文件而言:
- r 可获取文件的数据
- w 可修改文件数据
- x 可以将此文件运行为进程
2)对于目录而言
-
r 可以使用ls命令获取其下的所有文件列表
-
w 可修改此目录下的文件列表;即创建或删除文件;
-
x 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息
文件权限判断逻辑
1、删除文件:看用户是否具备对目录的w权限
-
(1)先判断用户是以什么身份删除文件,按照owner->group->other顺序进行匹配
-
(2)若是目录的属主,目录权限的左三位有w权限,删除文件成功,无w权限,删除失败
-
(3)若不是目录属主,但在目录的属组中,如果目录权限的中三位有w权限,则删除文件成功,无则失败
-
(4)若不是目录属主,也不在目录的属组中,如果目录权限的右三位有w权限,则删除文件成功,无则失败
创建文件:和用户删除文件判断逻辑一致
4、权限管理命令;
chmod命令:
-
三类用户:
u:属主 、g:属组 、 o:其它 、 a: 所有 -
赋权表示法:直接操作一类用户的所有权限位rwx
u=
g=
o=
a=
eg:chmod a=rwx file -
授权表示法:直接操作一类用户的一个权限位r,w,x;
u+, u-
g+, g-
o+, o-
a+, a- -
-R, --recursive:递归修改
-
数字修改
注意:用户仅能修改属主为自己的那些文件的权限;
从属关系管理命令:chown, chgrp
- chown命令:修改文件的属主,一并修改属组
语法结构:
chown [OPTION]… [OWNER][:[GROUP]] FILE…
chown [OPTION]… --reference=RFILE FILE…
chown owner:group file
chown root file
chown :root file
命令选项:
-R:递归修改
- chgrp命令:
语法结构:
chgrp [OPTION]… GROUP FILE…
chgrp [OPTION]… --reference=RFILE FILE…
注意:仅管理员可修改文件的属主和属组
5、进程安全上下文
进程对文件的访问权限应用模型:
- 进程的属主与文件的属主是否相同, 如果相同,则应用属主权限;否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限否则,就只能应用other的权限;