当前位置: 首页 > Linux

修改linux用户创建文件时的默认权限——umask

时间:2023-04-06 12:11:03 Linux

1、什么是umask?在Linux系统中,当用户登录系统并创建文件时,该文件有一个默认的权限,在Linux中通过umask命令进行管理。直接使用umask命令查看和修改用户在当前shell中创建的文件的默认权限。也就是说,修改完之后,关闭shell,重启shell,你会发现上次的修改不起作用。这主要是因为有一个系统默认的umask设置,一般在/etc/profile,$[HOME]/.bash_profile或$[HOME]/.profile中设置umask值。umask的值其实可以参考chmod时文件权限的数字值,只不过umask是把对应的位“拿走”:(1)文件的rwx权限对应的数字是4,2,1.(2)如果umask的值为0002,第一个0与特殊权限有关,暂且忽略,后面的002各位的含义针对当前用户(u),当前组单独讨论(g)、其他用户(o)等。u的权限减0表示权限不变(rw-),g的权限减0表示权限不变(rw-),o的权限减2表示减去w(r--)的权限。2、umask在业务中有什么用?通常,在程序中使用umask命令。例如PHP中有一个函数umask(0002)。可以设置当前程序默认创建文件的权限为rw-rw-r--,但程序结束后会直接恢复原来的权限。umask的值。其实umask就是设置创建文件的默认权限。使用chmod也可以实现同样的业务功能。因此,umask的关键字是“默认权限”。