Linux-权限相关

bash命令行

1
[root@iZ2ze4xrxurbpglmuv68wlZ ~]$
用户名 主机名 当前目录 命令行提示符
root iZ2ze4xrxurbpglmuv68wlZ ~ $/#
  • Shell是一个更广泛的概念,它包括了命令行解释器和其他功能。Bash是Shell的一种实现,而Bash命令行则是用户与Bash Shell交互的具体方式。在Bash命令行中,用户通过输入文本命令来执行操作,这些命令由Bash的命令行解释器解析和执行。

  • Shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运 行出结果,通过shell解析给用户

用户分类

  • root用户/超级用户:具有最高权限,无权限限制。
  • 普通用户:权限受限,通常需要使用sudo来执行需要提权的命令。

文件属性

img

文件类型 描述
- 普通文件(文本或可执行程序)
d 目录文件
b 块设备文件(如磁盘文件)
c 字符设备文件(如键盘、显示器)
p 管道文件(用于进程间通信)

文件权限

类别 权限字符 描述 示例
读取 r 允许查看文件内容 chmod u+r test.txt(给文件所有者添加读取权限)
写入 w 允许修改文件内容 chmod u+w test.txt(给文件所有者添加写入权限)
执行 x 允许执行文件 chmod u+x test.txt(给文件所有者添加执行权限)
无权限 - 没有相应权限 chmod u-x test.txt(移除文件所有者的执行权限)

角色分类

角色 描述
拥有者 文件的所有者
所属组 文件所属的用户组
其他人 除拥有者和所属组成员外的其他用户

权限修改

命令 描述 示例
chmod 更改文件权限 chmod u+w,g+rwx,o-rwx test.txt(修改文件权限)
chown 更改文件所有者 chown sanshi test.txt(将文件所有者改为sanshi)
chgrp 更改文件所属组 chgrp sanshi test.txt(将文件所属组改为sanshi)
umask 设置新文件默认权限掩码 umask 002(设置新文件默认权限掩码)

文件权限计算

最终权限=起始权限&(~umask)

按位取反+按位与运算

文件类型 默认权限 umask 最终权限
普通文件 666 002 664
目录文件 777 002 775

特殊权限

粘滞位(Sticky Bit):

给目录设置。一般为共享目录,可以对目录中针对各自文件的怎删改查,只允许文件拥有者/目录所有者/root用户删除文件。是一种特殊的x权限。

chmod o+t test.txt