详解linux下umask的使用
umask 在 Linux 系统中是一个非常重要的文件权限设置工具,可以帮助我们实现文件创建时的默认权限设置。umask 的默认值为 022,即掩码为 0022,新建文件会减去掩码所表示的权限。
比如, umask 的掩码是 0022,那么新建文件的权限就会变成 rw-r--r--,即 owner 可读写,其他用户只能读取。
umask 的取值范围是 000~777,掩码中每一个数字所代表的权限值如下:
0: 该类型权限全部开启
1: 只有可执行权限被关闭
2: 只有写权限被关闭
3: 可执行权限和写权限被关闭
4: 只有读权限被关闭
5: 可执行权限和读权限被关闭
6: 读权限和写权限被关闭
7: 该类型权限全部关闭
下面,我们来详细介绍在 Linux 系统中如何使用 umask。
1. 查看当前 umask
在 Linux 系统中,可以通过命令 umask 来查看当前的 umask 值:
$ umask
0022
上面的例子中,我们可以看到当前的 umask 值是 0022,即文件创建时会减去掩码表示的权限。
2. 修改 umask
你可以通过 umask 命令来动态地修改 umask 的值。例如,想要将 umask 设置为 0077,只需要运行以下命令:
$ umask 0077
注意:修改 umask 的值只对当前登录用户生效,不会影响其他用户。
3. 永久修改 umask
若想要让 umask 的设置永久生效,需要修改 /etc/profile 文件或 ~/.bashrc(对当前用户生效)文件,添加如下内容并保存即可:
umask 022
修改完成后,重新登录即可使之生效。
4. 为特定的用户设置 umask
如果你希望只对特定的用户进行 umask 设置,可以在 .bashrc 文件中添加如下内容:
if [ $USER = "sammy" ]; then
umask 0022
else
umask 0077
fi
上面例子中,.bashrc 文件会检查当前登录的用户是否是 "sammy",如果是则将 umask 设置为 0022,否则将 umask 设置为 0077。
总结
umask 是用于控制文件权限的一个非常实用的工具。通过设置 umask 值,可以轻松地控制文件创建时的权限。修改 umask 的值可以使用命令行命令,也可以在 .bashrc 或 /etc/profile 文件中进行设置。需要注意的是,修改 umask 的值会对当前登录用户生效。
