如何设置UNIX/Linux中新创建目录或文件的默认权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置UNIX/Linux中新创建目录或文件的默认权限相关的知识,希望对你有一定的参考价值。
在unix或者linux中,创建一个新文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,这些默认权限是由umask(权限掩码)来控制的,一般umask默认值为022,其最终效果就是新创建的目录权限为755,文件权限为644。所以只要修改了用户的umask值,就可以控制默认权限。
1、查看当前umask值,终端运行:
$ umask2、根据实际需要设置新的umask:
$ umask nnnn为1-7中的任一数字,可以根据文件或者目录权限的数字表示值计算得到。
示例:
$ umask 002目录权限:7-0=7,7-0=7,7-2=5, 即新建目录的默认权限为775
文件权限:目录权限去掉执行权限(-1),即664。
执行该命令只在用户本次登录期间有效,下次登录会恢复默认权限umask。3、让umask值在用户每次登录后都有效
编辑用户环境变量(~/.profile)文件或者所有用户环境变量(/etc/profile)文件中,修改(或增加)语句umask nnn。
umask值 目录 文件
022 755 644027 750 640
002 775 664
006 771 660
007 770 660
参考技术A 普通文件默认是644 也就是:-rw-r--r-- 1 root root 0 May15 20:04 test
自已有读写(rw),同组人员有读(r),其它有读(r)
默认权限可通过umask 修改
默认umask 为022
文件:666 - 022 = 644
目录:777 - 022 = 755
如果你下了umask 011 的指令,则生成的文件目录权限就变成:
文件:666 - 011 = 655
目录:777 - 011 = 766本回答被提问者和网友采纳
以上是关于如何设置UNIX/Linux中新创建目录或文件的默认权限的主要内容,如果未能解决你的问题,请参考以下文章
Unix/Linux环境下,find命令为啥找不到".."目录(也就是上级目录对应的文件夹)
Linux/Unix里,ln -s这个命令是做啥的?我是小白,谢谢你。