Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)

1. chmod 改变已有目录或文件的权限

chmod 设置已有目录或文件的权限。可以为指定范围的用户添加或删除权限。

权限范围的表示法如下:

  • u:User,即文件或目录的拥有者;
  • g:Group,即文件或目录的所属群组;
  • o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
  • a:All,即全部的用户,包含拥有者,所属群组以及其他用户;

权限设置如下:

  • r:读取权限,数字代号为“4”;
  • w:写入权限,数字代号为“2”;
  • x:执行或切换权限,数字代号为“1”;
  • -:不具任何权限,数字代号为“0”;
  • s:特殊功能说明:变更文件或目录的权限。

语法:

chmod [选项] 权限模式 文件

选项:

  • -f--quiet--silent:不显示错误信息;
  • -R--recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
  • -v--verbose:显示指令执行过程;
  • --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
  • +:开启权限范围的文件或目录的该选项权限设置;
  • -:关闭权限范围的文件或目录的该选项权限设置;
  • =:指定权限范围的文件或目录的该选项权限设置;

示例:

chmod u+x,g+w file  // 所有者添加可执行权限,同组用户添加可写入权限
chmod u=rwx,g=rw,o=r file  
chmod 764 file  
chmod a+x file  //对文件的 u,g,o 都设置可执行属性

2. umask 设置用户创建目录或文件时的默认权限

默认情况下的 umask 值是 022。

与 chmod 相反,umask 用来设置限制新建目录或文件的权限掩码,用于指定在新目录或文件的默认权限中删除哪些权限。当创建新目录或文件时,默认的初始权限由权限掩码决定。用户每次登陆系统时都会自动执行 umask 命令,并自动设置权限掩码来限制新文件的权限。可以手动执行 umask 命令来改变默认值。

设置掩码时,文件和目录的可执行权限有所区别。文件基数为 666,目录为 777,即文件无法设置可执行位,目录可设可执行位。所以 033 效果与 022 一样,假设使用 033 掩码进行设置,则真实权限应为 633 即 rw- r-x r-x,但前提规定文件不生成 x 位,所以文件的权限最终将以 rw-r--r-- 出现。因此建立的文件默认权限是 644,建立的目录的默认权限是 755。

语法:

umask [选项] [权限掩码]

选项:

  • -p:输出的权限掩码可直接作为指令来执行;
  • -S:以符号方式输出权限掩码。

示例:
将新文件和目录的默认权限就为 642,753:

umask 024

下面的两个命令创建相同作用的掩码,取消组用户的写权限,其他用户的读、写和执行权限:

umask u=, g=w, o=rwx

umask 027

上面的命令执行以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。

查看当前权限掩码:

[root@VM_120_242_centos ~]# umask
0022
[root@VM_120_242_centos ~]# umask -S
u=rwx,g=rx,o=rx

umask 一般在 /etc/profile~/.bash_profile~/.profile 中设置,由于 profile 的读取有一定的顺序:
/etc/profile -> ~/.profile -> ~/.bash_profile,所以在 .profile 里面设置的 umask 会被后面的 profile 覆盖,推荐设置在 ~/.bash_profile

[root@VM_120_242_centos ~]# cat /etc/profile
...
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi
...
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux 文件目录权限设置是通过 chmod 命令来完成的。在 Linux 中,每个文件目录都有三个权限:读取(r)、写入(w)和执行(x),而每个文件目录都有三种用户:文件所有者(owner)、群组(group)和其他用户(others)。因此,共有九种权限组合,用三个数字来表示:第一个数字表示文件所有者的权限,第二个数字表示群组的权限,第三个数字表示其他用户的权限。 常见的权限数字对应如下: - 0:没有权限 - 1:执行权限 - 2:写入权限 - 3:写入和执行权限 - 4:读取权限 - 5:读取和执行权限 - 6:读取和写入权限 - 7:读取、写入和执行权限 例如,要将目录 /var/www/html 的权限设置为 drwxr-xr-x(文件所有者具有读取、写入和执行权限,群组和其他用户只有读取和执行权限),可以使用以下命令: ``` chmod 755 /var/www/html ``` 其中,7 表示文件所有者具有读取、写入和执行权限(4 + 2 + 1),5 表示群组和其他用户具有读取和执行权限(4 + 1),因此整个目录权限为 drwxr-xr-x。 需要注意的是,修改文件目录权限需要使用管理员权限(即 root 用户)执行命令,否则可能会因为权限不足而失败。 ### 回答2: 在Linux系统中,文件目录权限是通过权限位来控制的。每个文件目录都有三组权限:所有者权限、所有组权限和其他用户权限。 所有者权限:表示文件目录的所有者对其具有的权限。包括读权限(r,表示可以查看文件内容或目录下的文件列表)、写权限(w,表示可以修改文件内容或在目录下创建、删除文件)、执行权限(x,表示可以执行文件或进入目录)。 所有组权限:表示与文件目录拥有相同组的用户对其具有的权限。与所有者权限类似,包括读、写、执行权限。 其他用户权限:表示不属于所有者组的其他用户对其具有的权限。同样包括读、写、执行权限。 在设计文件目录权限时,可以按照以下原则进行: 1. 需要确保至少有一个用户具备执行权限,否则该文件目录将无法使用。对于目录来说,执行权限表示可以进入该目录,对于文件来说,执行权限表示可以执行该文件。 2. 对于具有敏感数据的文件目录,应该只给予必要用户读权限,并限制其他用户的访问权限,以确保数据的安全性。 3. 对于某些程序文件目录,可以给予所有者或同组用户写权限,以便他们能够进行修改。 4. 对于公共目录文件,应该为其他用户开放至少读取权限,以便其他用户能够查看或使用。 5. 对于系统关键文件目录,应该严格限制权限,避免非授权用户误操作或修改。 6. 使用适当的用户和用户组管理,确保每个用户组的成员对特定文件目录具有适当的访问权限。 总结而言,设计Linux文件目录权限时,需要根据需求和安全性考虑,给予必要用户适当的读、写、执行权限,同时限制其他用户的访问权限,以保障数据和系统的安全。 ### 回答3: 在Linux系统中,文件目录权限设计是非常重要的,它可以控制文件目录的访问权限。通常情况下,每个文件目录都有一个所有者和一个所属组。下面是一些关于如何设计Linux文件目录权限的指导原则: 1. 分配所有者和所属组:为每个文件目录分配一个所有者和所属组。所有者通常是创建该文件目录的用户,而所属组可以是共享该文件目录的用户组。 2. 使用权限位:每个文件目录都有三个权限位:读取、写入和执行。通过设置这些权限位,可以控制不同用户对文件目录的访问权限。例如,仅授予所有者读取和写入权限,而其他用户只有读取权限。 3. 文件目录默认权限:通过设置默认权限,可以控制在创建新文件目录时应用的权限。这可以使用umask命令来定义,确保新文件目录权限符合期望。 4. 使用精确的访问控制:在设计文件目录权限时,需要根据实际需要进行精确的访问控制。只授予用户进行所需操作的最低权限,以确保安全性。 5. 考虑特殊权限Linux还提供了一些特殊权限选项,如Setuid、Setgid和Sticky位。这些权限可以在特定场景下提供额外的控制和安全性。 总的来说,设计Linux文件目录权限需要考虑安全性、可用性和用户需求。通过分配合适的所有者和所属组,并使用权限位来控制访问权限,可以确保文件目录在系统中得到适当的保护。同时,还要根据实际需求和特殊情况,使用特殊权限选项来提升安全性和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值