欢迎访问宙启技术站
智能推送

详解linux下umask的使用

发布时间:2023-05-16 12:39:55

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 的值会对当前登录用户生效。