文件权限详解
文件 file
r:读,使用类似于 cat 查看文件
w:写,使用类似于 vim 编辑文件,删除内容
x:执行,把这个文件交给内核处理
r-- 可读 cat,vim 可以写入,wq! 强制保存退出
-w- 不能读 cat,也不能写 vim,必须有读写才能用 vim,echo 不需要先读再写,可以直接写入
--x 不能读 cat,不能写 vim、echo,不能执行
文件执行的两个条件:文件本身可执行;还要有 r 读权限
文件目录 director
r:读,使用类似于 ls,去列出目录中的所有文件
w:写,创建新文件,删除文件(? )
x:执行,能不能 cd,能不能 ls -l 列出文件的所有属性信息
r-- 只能 ls 列出目录下的所有文件名字,
x 可以帮助 cd 进去,同时可以 ls -l 列出所有属性 ,r-x
-w- 什么都干不了,要配合 x -wx
--x 只能进入目录 cd,其他不能
r-x cd / ls / ls -l 不能创建删除文件
-wx 只能创建 touch、mkdir / 删除 rm 目录中的文件
文件详细信息
[root@servera ~]# ls -l
-rw-r--r--. 1 root root 876 Jan 19 22:31 aaa
- 文件类型:
l 链接文件
d 目录
- 普通文件
- 基本权限位:
rw- 用户权限,属主,这个文件所属的用户能干点啥
r-- 组的权限,属组,这个文件用户所在的组,能干点啥
r-- 其他权限,上面没提到的其他人,能干点啥
- 特殊的权限位: . 当做了 facl 更精细控制,. 变成 +
- 硬连接数量:1
- 这个文件的属主:root
- 这个文件的属组:root
- 文件的大小:876
- 文件的修改时间:Jan 19 22:31
- 文件名:aaa
修改文件的权限
chmod
-rw-r--r--
数字法:
r w - r - - r - -
1 1 0 1 0 0 1 0 0
6 4 4
chmod 755 aaa ---> rwx r-x r-x
字母法:
u 属主的权限、g 属组的权限、o 其他权限、a 所有
chmod u=rwx aaa ---> rwxr--r--
chmod a=r-- ---> r--r--r--
+ = -
修改属主属组:
chown
-rw-rw-r--. 1 student student 0 Jan 12 21:02 aaa
chown student3:student aaa ---> -rw-rw-r--. 1 student3 student 0 Jan 12 21:02 aaa
补充
补充 1: 特殊的权限位
SUID: 让普通用户本来 other 的权限位,现在按照属主的权限来访问
chmod u+s 文件
只对一些可执行的命令做 suid
SGID: 让目录下的子文件或者子目录都继承当前目录的属组
只对目录实现 sgid
粘滞位:临时的共享目录 /tmp/
所有用户都可以向里放东西
但是只有用户本身和管理员 root 才可以删除
补充 2:su sudo 提升权限问题
su --- switch user 切换用户
su USER 不完全切换,环境变量不是完整的切换
su - USER 完全切换,完整的环境变量
sudo --- 普通户提权
visudo 或者 vim /etc/sudoers
配置提权文件 % glab2 ALL=(ALL) ALL (粗暴)
sudo rm -rf FILE 可以成功删除
按需分组授权不同命令给不同的组 --- %glab2 ALL=(root) /usr/bin/rm,/usr/bin/passwd
普通用户删除一个文件的方法:
- 配置文件所在目录的 wx 权限
- 配置 rm 的 suid(简单粗暴)
-sudo 跟别人 root 借权限
对比:
su - root 输入 root 的密码
sudo 输入的是当前用户的密码 (优先选)
suid 需要 root 设定,并且对所有的普通用户生效