📜  Linux中的umask命令及示例(1)

📅  最后修改于: 2023-12-03 14:43:59.875000             🧑  作者: Mango

Linux中的umask命令及示例

在Linux系统中,umask命令用于设置默认的文件权限掩码。文件权限掩码指定了系统在创建新文件或目录时所需设置的默认文件权限。该命令通常在shell启动文件中设置(例如~/.bashrc)以确保每个新文件都有适当的安全性。

语法格式

umask的语法格式如下:

umask [-p] [-S] [mode]
命令选项
  • -p:输出适合于shell读取的值 (octal)
  • -S:输出适合于shell读取的值 (symbolic)
  • mode:要设置的文件权限掩码值,可以用数字或符号表示。
文件权限掩码

在Linux系统中,权限掩码是一个三位的数字,它通过位运算来控制文件的权限。每一位控制文件权限中的一个属性,如读取、写入、执行等。

  • 0 代表“没有权限”
  • 1 代表“执行权限”
  • 2 代表“写权限”
  • 3 代表“写和执行权限”
  • 4 代表“读权限”
  • 5 代表“读和执行权限”
  • 6 代表“读和写权限”
  • 7 代表“读、写和执行权限”

例如,一个权限掩码为022的文件表示文件所有者有读、写权限,其他用户仅有读权限。

命令示例
  1. 查看当前的umask值
umask
  1. 设置umask为022(仅用户有写权限)
umask 022
  1. 设置umask为027(仅用户有读和执行权限)
umask 027
  1. 使用-S选项查看umask值(symbolic)
umask -S

输出结果为

u=rwx,g=rx,o=rx

其中,u代表文件所有者,g代表文件所属组,o代表其他用户。r代表读权限,w代表写权限,x代表执行权限。

  1. 使用-p选项查看umask值(octal)
umask -p

输出结果为

0022

其中,0022代表所需权限掩码。每一位表示一项权限,0表示该项权限被允许,2表示被禁止。第一位表示文件所有者的权限,第二位表示文件所在组的权限,第三位表示其他用户的权限。

总之,umask命令可以帮助程序员设置默认的文件权限掩码,以确保每个新文件都有适当的安全性。