这是一个testing机器,而不是生产。 我在用户的.bashrc中包含了以下内容:
umask 000
当我去我的主目录中创build一个文件,使用vi test.txt,文件获得许可rw-rw-rw。
我也尝试手动设置umask:
umask a=rwx
我做错了什么,因为我需要在文件和目录上相当于CHMOD 0777或0755? 再一次,这是一个testing的情况,所以目前安全是不重要的。
编辑:来想一想,这是不可能的? 由于用于文件的umask被减去666,所以最低的umask是000,因此,666的CHMOD是一个文件可以得到的最高? 没有办法使用umask给文件CHMOD 755或777?
我无法find一个参考,但我相当确定,您不能将x设置为文件的默认权限。
umask不设置默认权限,它用于修改某些系统调用的默认模式,如open(2)和mkdir(2) 。
在你的情况下, vim创build的模式是0666 ,这个模式会被umask进一步修改。 默认0022,然后创build一个模式为0644的文件。umask不能添加位,它只能掩盖它们(因此名称)。
作为一个例子,执行
$ touch testfile $ ls -l testfile -rw-r--r-- 1 bob bob 0 2011-06-27 16:36 testfile
但它进行了以下系统调用(注意mode_t字段中的0666)
open("testfile", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3