第10节Kali Linux系统调整文件及目录权限

1 权限

  • 权限的作用:规定哪些用户对哪些资源可以如何使用。

1.1 权限的查看

  1. 以root身份在tmp目录下创建一个目录与一个文件。在这里插入图片描述
  2. 查询文件与目录的权限信息。使用命令 ls -l 文件名 查询文件权限,使用命令 ls -ld 目录名 查询目录权限。可以分别缩写为 ll 文件名 ll -d 目录名
    在这里插入图片描述

1.2 权限解读

  • 如上图中的test.txt文件,前8位为“-rw-r–r–”,各位表示含义如下:
  • 第一个字段就是描述文件和目录权限的编码。这个字段的第一个字符代表了对象的类型:
    • 代表文件
    • d 代表目录
    • l 代表链接
    • c 代表字符型设备
    • b 代表块设备
    • n 代表网络设备
  • 之后有3组三字符的编码,第1组表示对象的所属者owner权限、第2组表示对象所属组group权限、第3组表示系统其他用户other权限。每一组定义了3种访问权限:
    • r 代表对象是可读的
    • w 代表对象是可写的
    • x 代表对象是可执行的
  • 文件权限:
    • r(read):可读取此文件的实际内容,如读取文本文件的文字内容;
    • w(write):可以编辑、新增或是修改文件的内容(不包含删除文件);
    • x(eXecute):该文件具有可以被系统执行的权限;
  • 文件夹权限:
    • r:表示具有读取目录结构列表的权限,当你具有一个目录的r权限时,表示你可以查询到该目录下的文件名数据
    • w:表示具有改变目录结构的权限,包括新建文件与目录、删除文件与目录、重命名文件及目录、移动文件及目录位置
    • x:代表用户能否进入该目录成为工作目录

2 权限修改

2.1 修改文件/目录普通权限

2.1.1 方法1:指定权限修改

  1. 方法介绍:使用公式 chmod 对象 算数运算符 权限 文件 ,对特定文件的特定用户或组修改权限。该方法对目录同样适用。
  2. 参数说明:
    1. 对象:u代表所属者、g代表所属组、o代表其他用户、a代表所有人。
    2. 算数运算符:+ 附加权限、- 移除权限、= 指定权限。
    3. 权限:r w x
  3. 修改test.txt文件权限为其他用户不可读,操作如下:
    在这里插入图片描述

2.1.2 方法2:八进制赋权法

  1. 方法介绍:采用0~7的数字代表不同用户的权限,采用命令 chmod xxx 文件 ,对特定文件的特定用户或组修改权限,其中每一个x表示0~7。该方法对目录同样适用。
  2. 参数说明:
x数值二进制数值权限
0000
1001–x
2010-w-
3011-wx
4100r–
5101r-x
6110rw-
7111rwx
  1. 使用技巧:记住1、2、4对应的权限,其余数值可以转为这三个数相加,也代表其权限的叠加。
  2. 使用该方法,修改test.txt权限为所有用户可读可写可执行。
    在这里插入图片描述

2.1.3 修改文件所属信息

  1. 修改文件所属者:使用命令 chown 新所有者 文件
  2. 修改文件所属组:使用命令 chgrp 新所有组 文件

2.2 修改目录及可执行文件的特殊权限

2.2.1 粘滞位

  1. 功能:粘滞位针对目录赋权,目录中创建的文件只有建立者可以删除。
  2. 赋权方法: chmod o+t 目录名
  3. 使用结果:
    在这里插入图片描述

2.2.2 sgid权限

  1. 功能:sgid针对目录建立的权限,在该目录中建立的文件所属组继承父目录的所属组。
  2. 赋权方法: chmod g+s 目录名
  3. 使用结果:
    在这里插入图片描述

2.2.3 suid权限

  1. 功能:suid是针对可执行文件建立的权限。赋权后,无论谁运行该可执行文件,均具有该文件所属者的权限。
  2. 赋权方法: chmod u+s 目录名

2.3 撤销权限

  • 将上述命令的+号改为-号,或者采用八进制赋值法将对应权限位设为0.

3 与权限相关的其他操作

3.1 按权限查找文件

  1. 思路:使用find命令配合八进制赋权法进行查找。
  2. 查找方法: find 目标目录 -perm xxxx ,命令中不同位的x含义如下:
    1. 第1位x:表示特殊权限,1表示粘滞位已赋权、2表示sgid已赋权、4表示suid已赋权。
    2. 第2位x:表示所属者权限rwx。
    3. 第3位x:表示所属组权限rwx。
    4. 第4位x:表示其他用户权限rwx。

3.2 设置系统不再添加用户

  1. 使用方法: chattr +i 目录1 [目录2]
  2. 上述目录主要可以是以下目录:
    1. /etc/group:表示不再新增组。
    2. /etc/passwd:表示不再新增用户,一般配合shadow使用。
    3. /etc/shadow:表示不再新增用户,一般配合passwd使用。

3.3 设置umask

  1. 当一个文件被不同用户创建时,其默认权限是不一样的,当一个文件被普通用户和root用户创建时,其他用户权限不同,这是因为不同用户的umask不一样。
  2. umask:指定在建立文件时预设的权限掩码。
  3. 作用原理:默认情况下root的umask为0022,其余用户为0002,而默认情况下目录的最高权限为0777,文件的最高权限为666。以root用户为例,当新建目录时默认权限为0777 - 0022 = 0755;当新建文件时默认权限为666 - 022 = 644。

3.4 修改默认密码最长有效期时间

  • 保存密码默认参数的文件在/etc/login.defs中,使用vim编辑器修改其默认值,即可完成修改。

4 总结

  1. 掌握设置权限的作用;
  2. 掌握权限的查看方式;
  3. 理解权限中不同符号的含义;
  4. 掌握对文件和目录设置权限的方法;
  5. 掌握对目录和可执行文件设置特殊权限的方法;
  6. 了解与权限相关的其他操作。

5 参考文献

  1. linux文件权限和文件夹权限解读
### 修改文件权限Kali Linux 中,`chmod` 命令用于更改文件目录的访问权限。此命令通过设置读取 (r)、写入 (w) 和执行 (x) 权限来控制用户、组和其他人的访问级别。 #### 使用 `chmod` 更改文件权限 可以通过符号模式或八进制模式指定权限: - **符号模式**允许使用字符表示法调整特定用户的权限。 ```bash chmod u=rwx,g=rx,o-r myfile.txt ``` - **八进制模式**提供了一种更紧凑的方式来定义权限组合。 ```bash chmod 755 myfile.txt ``` 上述例子中,`u` 表示用户 (`owner`) ,`g` 表示群组 (`group`) ,而 `o` 则代表其他所有人 (`others`) 。对于八进制数值,每一位分别对应于用户、组及其他人的权限;每三位数中的第一位决定读权限,第二位决定写权限,第三位则决定了执行权限[^1]。 为了更好地理解这些概念并实际操作,下面给出具体的实例说明如何应用 `chmod` 命令: 假设有一个名为 `example.sh` 的脚本文件,当前只有所有者具有完全控制权(即 rwx),现在希望赋予同组成员可读和可执行的权利,并让其他人仅拥有读取权利,则可以运行如下命令: ```bash chmod ug+rx,o+r example.sh ``` 或者采用更为简洁的八进制形式实现相同效果: ```bash chmod 754 example.sh ``` 这两种方式都将使该文件具备以下属性:所有者有全部权限,所属组能够阅读和执行它,而非属主及非属组的人只能查看其内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值