Linux文件权限管理命令总结

一、权限体系

1、文件操作权限

  • 读权限(r、4):允许用户读取文件内容,查看目录中的文件列表。
  • 写权限(w、2):允许用户修改文件内容,在目录中创建、删除或重命名文件。
  • 执行权限(x、1):允许用户执行该文件,或允许用户进入该目录。

2、文件用户属性

  • 所属者(u):文件或目录的创建者,拥有对文件或目录的最高权限。
  • 所属组(g):文件或目录所在的用户组,组内所有用户都会集成该组对文件或目录的权限。
  • 其他用户(o):既不是文件所有者,也不是所属组成员的其他所有用户。

3、权限描述

字符表示 八进制表示说明
---0无任何权限
--x1可执行
-w-2可写
-wx3可写可执行
r--4可读
r-x5可读可执行
rw-6可读可写
rwx7可读可写可执行
rw-r-----640属主可读写,属组可读,其他无任何权限
rw-r--r--644属主可读写,属组可读,其他用户可读
rwx-r-xr-x755属主可读写可执行,属组可读可执行,其他用户可读可执行

二、文件权限操作

1、chmod文件权限修改

  • chmod 750 1.txt:设置文件权限为755(属主可读可写可执行,组内其他用户可读可执行,组外其他用户不可读不可写不可执行)
  • chmod u+x 1.txt:给文件属主添加可执行权限
  • chmod -R 755 dir1:递归修改dir1(包含其中的所有文件)权限为755

常用操作动作:+(增加权限)、-(删除权限)、=(覆盖保留权限)

  • u+r:属组增加读权限
  • g-x:属组取消执行权限
  • ug=rx:属主和属组设置为可读可执行
  • o=:其他用户无任何权限
  • a=rwx:所有用户可读可写可执行
  • u+r,g-x:同时指定相关权限

2、chown文件属性修改

  • chown user1:group1 1.txt:修改文件的属主为user1,属组为group1
  • chown -R user1:group1 dir1:递归修改dir1(包含其中的所有文件)的属主为user1,属组为group1
  • chown user1 1.txt:修改文件的属主为user1
  • chown aaa 1.txt:修改文件的属主和属组均为aaa
  • chown 1001 1.txt:修改文件的属主为用户id是1001的用户

3、umask默认权限

umask是用户文件创建掩码,它是一个八进制的数值,决定了在创建文件或者目录时哪些权限位将被屏蔽(即为不允许)。通过umask可设置默认权限。

Linux系统中,文件和目录的默认权限为:

  • 文件:-rw-rw-rw-(即666、任何用户都可读可写不可执行)
  • 目录:drwxrwxrwx(即777,任何用户可读可写可执行)

umask通常为022,其意味着:

  • 新创建的文件权限:666-022=644(属主可读可写,属组及其他用户只可读)
  • 新创建的目录权限:777-022=755(属主可读可写可执行,属组及其他用户可读可执行)

修改方式:umask 123

4、特殊权限

SUID(用户身份临时提权):设置在可执行文件上,临时获得该文件所有者权限。文件所有者权限位的x被替代成s(小写),若文件本身没有可执行权限,则为S(大写),如:-rwsr-xr-x。八进制表示为4,放在普通权限数字前,如:4755。

SGID(组身份临时继承):设置在可执行文件上,临时获得该文件所属组权限。设置在目录上,在该目录下新建目录或文件是,会自动继承目录的所属组。文件或目录的所属组权限位的x被替换为s(小写),若文件或目录本身没有可执行权限,则为S(大写),如:-rwxr-sr-x。八进制表示为2,放在普通权限数字前,如:2755。

SBIT(粘滞位):仅对目录生效,限制目录内的文件删除权限,只有文件属主、目录属主及root用户能删除文件。目录其他用户权限为x被替换为t(小写),若目录本身没有可执行权限,则为T(大写),如:drwxrwxrwt。八进制表示为1,放在普通权限数字前,如:1777。

命令说明
chmod u+s /usr/bin/test给文件添加 SUID(u+s 表示 “所有者 + SUID”)
chmod g+s /tmp/share给目录添加 SGID(g+s 表示 “所属组 + SGID”)
chmod o+t /tmp给目录添加 SBIT(o+t 表示 “其他用户 + SBIT”)
chmod 4755 /usr/bin/test4(SUID)+ 755(普通权限)= 4755
chmod 2755 /tmp/share2(SGID)+ 755(普通权限)= 2755
chmod 1777 /tmp1(SBIT)+ 777(普通权限)= 1777

5、特殊属性

除了SUID/SGID/SBIT,Linux还支持通过chattr配置 文件属性权限,这类权限优先级高于普通权限,常用于保护核心文件(如系统配置文件)

  • a:只允许追加内容,不能删除或修改
  • i:设置文件为不可修改,无法删除、重命名、修改内容
  • u:当文件被删除时,其内容仍保留在磁盘上,可通过工具恢复,直到空间被其他文件覆盖
  • 查看属性:lsattr /etc/shadow
  • 添加属性:chattr +i /etc/1.txt(需 root 权限)
  • 取消属性:chattr -i /etc/1.txt(需 root 权限)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

siriuuus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值