权限管理命令 41~44
Linux系统是多人多用户的操作系统。
| 字符 | 含义 | 
|---|---|
| r | read 读:查看权限;目录:ls; | 
| w | write 写:文件:增删改;目录:创建、改名、删除、移动 | 
| x | execute 执行:文件可以被执行;目录:可以cd | 
| u | user 用户 (属主) | 
| g | group 组(属组) | 
| o | other 其他用户 | 
| a | all 所有用户 | 
| t | 粘连权限(特殊权限)给目录的权限,在本目录下不能删除其他人的文件 | 
| s | 权限提升(特殊权限) x 在执行程序时让其他用户临时拥有所有者或所属组的权限 | 
特殊权限:
- 
SUID:rwsrwxrwx 【chomd u+s dilename】 - 
让其他用户使拥有SUID权限命令时,可以使用所有者的权限。 
- 
passwdd 默认拥有SUID权限。(普通用户修改自己的密码时,要有root权限) chmod u+s /bin/passwd ls -l /bin/passwd -rwsr-xr-x. 1 root root 27832 6月 10 2014 /bin/passwd #SUID的数字权限为4 chmod 4755 /bin/passwd ls -l /bin/passwd -rwsr-xr-x. 1 root root 27832 6月 10 2014 /bin/passwd # s:原来有x执行权限时,才会变成s为生效。否则为S:不生效。
 
- 
- 
SGID:所有组的x变成s,其他人以组权限执行命令。 # SGID权限位 chmod g+s filename chmod 2755 filename #SUID+SGID chmod 6755 filename chmod u+s,g+s filename
- 
sticjybit:粘滞位【给目录使用】 #给共享目录设置为粘滞位,作用是只能删除自己的文件,没有修改权限,不能修改、移动别人的文件 chmod o+t dir chmod 1777 dir
隐藏权限:
可以限制root权限操作。保护重要文件,保险作用。
lsattr 查看隐藏权限
chattr 修改隐藏权限
A:文件或目录的atime不可被修改。
S:硬盘I/O同步选项,功能类似sync。Linux默认为异步I/O。
a:只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
d:文件不能成为dump程序的备份目标。
i:(强制锁定)设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。
#buff:写入缓存、存放在内存中等待写入的缓存。sync命令可以写入磁盘。
#cache:读出缓存、从磁盘中预先加载的数据,等待被程序运行。
### ACL权限:
* 三类用户:user所有者,group同组人员,other其他人。
* ACL(访问控制列表):单独赋予某个用户对文件的rwx相关的权限。
~~~ini
----------------
#获取文件的acl权限
getfacl 1.txt
----------------
#设置用户acl权限
setfacl -m u:tom:rw- 1.txt
----------------
#删除用户acl权限
setfacl -x u:tom 1.txt
----------------
#删除文件所有acl权限
setfacl -b 1.txt
-----------------
#对目录设置acl权限
setfacl -m d:u:tom:rwx dir
-----------------
~~~
41.chmod:修改文件或目录的权限
权限只对普通用户有效,对root无效。
格式: chmod 权限 [选项] 文件
选项:-R :递归设置,将目录内的文件全部设置成一样的权限
#查看权限
ls -l
-rw-r--r--  1 root root   65 7月  10 15:53 1.txt
第一个字符:文件类型:-普通文件,d目录文件,c字符串文件,b块文件,l链接文件
2~10字符:属主 属组 其他用户 (3个一组)
#stat 查看用户权限
stat 1.txt
| 权限 | 数字 | 含义 | 
|---|---|---|
| --- | 0 | 没权限 | 
| --x | 1 | 执行权限 | 
| -w- | 2 | 写权限 | 
| -wx | 3 | 写执行权限 | 
| r-- | 4 | 读权限 | 
| r-x | 5 | 读执行权限 | 
| rw- | 6 | 读写权限 | 
| rwx | 7 | 读写执行权限 | 
| t | 防止其他用户删除非自己的文件 | 
用法:chmod [选项] 权限 文件
- 修改文件或目录的权限,适用于设置读取、写入、执行权限。
有数字表示法
- 
字母修改法 
- 
u(user) g(group) o(other) a(all) 
- 
chmod +x a.sh 
- 
chmod u=rwx,g=rx,o=r a.sh 字母表示法 

- 
数字修改法 
- 
chmod 666 a.sh 
- 
0000 ~ 7777 
- 
特殊权限:1--t 2--sgid 3--同时加t和sgit 4--suid 
常用操作:
#常用权限组合:
777:共享目录
666:共享文件
755:允许其他用户读的目录
644:允许其他用户读的文件
700:自己的私有目录
600:自己的私有文件
711:可执行文件
#默认权限:
umask #修改默认权限
0022
目录=0777-0022=0755
文件=0666-0022=0644
--------------------
# 1. 将文件设为所有人可读(r),所有者可写(w),所有人可执行(x)
chmod 755 script.sh
# 2. 只允许所有者读写,其他人无权限
chmod 600 secret.txt
# 3. 为目录添加执行权限(递归应用到子目录和文件)
chmod -R +x /path/to/directory
# 4. 使用符号模式添加权限:为文件添加所有用户的执行权限
chmod +x script.sh
# 5. 移除权限:移除文件的写权限
chmod -w readonly.txt
# 6. 为用户组添加写权限
chmod g+w shared_file.txt
# 7. 设置文件的详细权限:为不同用户分配精确权限
chmod u=rwx,g=rx,o= script.sh
# 7说明:
# u=rwx:文件所有者 (u) 有读 (r)、写 (w)、执行 (x) 权限。
# g=rx:文件所在的用户组 (g) 有读 (r)、执行 (x) 权限,没有写权限。
# o=:其他用户 (o) 无任何权限。
# 适用场景:
# 1. 让文件所有者可以完全操作文件。
# 2. 组用户只能查看和运行文件。
# 3. 防止其他用户访问文件内容。
小总结:
- 数字模式: 快速设置权限,比如 chmod 755。
- 符号模式: 灵活添加或移除权限,比如 chmod +x。
- 递归操作: 用 -R修改目录及其子目录权限。
- 权限拆解: 读 4,写2,执行1,组合成总权限。
chmod 是管理文件权限的必备工具,轻松保护文件安全!
42.chown:修改属主
格式:
- chown 属主.属组 文件
- chown 属主.属组 -R 目录 # -R 只能用在修改目录上
# 创建新用户
useradd tom
useradd zhangsan
useradd zj
#给用户设置密码
passwd tom
passwd zhangsan
passwd zj
#切换普通用户
su tom #在当前目录切换到该用户
su -tom #在切换用户时,自动cd到家目录,加载用户配置
#切换root用户
su root
su -root
su -
#root用户 切换到其他用户不需要密码
#root用户 可以修改所有用户的密码
#普通用户只能修改自己的密码
#普通用户切换到其他用户(包括root)都需要密码
#退出当前用户,返回之前的用户或退出登录
exit
#chmod: 修改文件的权限
#chown:修改文件的所有者(属主)
#root才能修改其他用户文件的属主和属组
chown zj -R /home/zj #修改文件的属主
chown zj.zj -R /home/zj #同时修改文件的属主和属组
#chgrp:只能修改文件属组
小总结:
- 改所有者: 用 chown 用户名 文件名。
- 改组: 用 用户名:组名组合方式。
- 改目录及子文件: 加 -R递归修改。
用 chown,文件权限管理更灵活!
#可查看已经注册的用户
cat /etc/passwd
43.chgrp:修改文件所属组
组(group):默认组、附加组。可以把多个用户添加到同一个小组当中,主要用于批量管理权限。
用法:chgrp [选项] 组名 文件名
- chgrp专注于修改文件或目录的所属组,不影响文件的所有者。
常用操作:
# 1. 修改文件的所属组为 group1
chgrp group1 file.txt
# 2. 递归修改目录及其所有文件的所属组
chgrp -R group1 /path/to/directory
# 适用场景:
# 1. 改变文件的组归属,例如分配给新团队或用户组。
# 2. 与 chown 搭配使用,灵活调整文件权限。
小总结:
- 改组:用 chgrp 组名 文件名。
- 改目录及子文件组:加 -R 递归修改。
44.sudo:提权,让普通用户临时使用root权限执行命令
#使用root身份修改/etc/sudoers文件,将普通用户添加到该文件并进行设置。
vim /etc/suders
在文件的101行
zj   ALL=(ALL)   ALL
#切换用户
su -zj
#使用sudo执行命令
sudo reboot
#普通用户直接修改root密码
sudo passwd
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号