umask

1.作用
umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。


2.格式
umask [-p] [-S] [mode]


3.参数
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。


4.说明
传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组, 那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所 创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw-------。在
~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。


5.应用实例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。

08-09
### umask 文件权限设置的理解与问题解决 在 Linux 系统中,`umask` 是用于控制新创建文件和目录的默认权限的重要机制。它通过从文件或目录的默认权限中减去指定的权限位,来限制新创建文件的访问权限。这种机制确保了系统在默认情况下不会赋予用户过高的权限,从而提升安全性。 #### umask 的作用与默认值 `umask` 的作用是定义用户在创建文件或目录时的默认权限限制。默认情况下,`umask` 的值为 `022`,这意味着新创建的文件默认权限为 `644`(即 `6-0`, `6-2`, `6-2`),目录的默认权限为 `755`(即 `7-0`, `7-2`, `7-2`)[^2]。可以通过 `umask` 命令查看当前用户的 `umask` 值。 例如: ```bash umask ``` 输出可能为: ``` 0022 ``` #### umask 与文件权限的关系 在 Linux 中,`umask` 的作用是用户在创建文件时从文件的默认权限中去除掩码中的权限[^3]。具体而言: - 对于文件,默认权限为 `666`(所有用户都可读写),实际权限为 `666 & (~umask)`。 - 对于目录,默认权限为 `777`(所有用户都可读、写、执行),实际权限为 `777 & (~umask)`。 例如,当 `umask` 为 `022` 时: - 文件权限:`666 - 022 = 644`(即 `-rw-r--r--`)。 - 目录权限:`777 - 022 = 755`(即 `drwxr-xr-x`)。 可以通过以下命令临时修改 `umask` 值: ```bash umask 027 ``` 这将使新创建的文件权限变为 `640`,目录权限变为 `750`。 #### umask 与 root 用户及普通用户的区别 在大多数 Linux 发行版中,`root` 用户的默认 `umask` 值通常为 `022`,而普通用户的默认 `umask` 值可能为 `002` 或 `022`,具体取决于系统配置。不同用户的 `umask` 值可以通过 `/etc/login.defs` 和 `/etc/profile` 文件进行配置[^3]。 例如,在 `/etc/login.defs` 中可以找到如下配置: ``` UMASK 022 ``` 这表示系统默认的 `umask` 值为 `022`。 #### umask 与 chmod 的区别 `umask` 用于设置新创建文件或目录的默认权限,而 `chmod` 用于修改已有文件或目录的权限。例如,可以使用 `chmod` 为文件添加或删除特定权限: ```bash chmod u+x script.sh ``` 该命令为文件所有者添加执行权限。 也可以使用八进制数直接修改权限: ```bash chmod 755 script.sh ``` 此命令将文件权限设置为 `rwxr-xr-x`[^4]。 #### umask 的实际应用场景 - **提高安全性**:通过设置合适的 `umask` 值,可以防止新创建的文件或目录被其他用户随意访问。 - **统一权限管理**:在多用户环境中,合理配置 `umask` 可以确保用户创建的文件具有统一的权限策略。 - **系统管理**:系统管理员可以通过 `/etc/profile` 或 `/etc/login.defs` 设置全局 `umask` 值,确保所有用户的默认权限一致。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值