由于特殊需求想要指定某个目录及其所有子目录权限为 777, 目前已经知道可以通过 chmod -R 777 实现. 但是这样之后在此目录下新创建的目录还是没有 777 权限, 还需要再重新设置. 请问有什么 方法可以实现在此目录下创建的文件默认权限就是 777 吗?
1
knightdf 2017-09-11 16:04:40 +08:00
mkdir -m 777
|
2
jones 2017-09-11 16:09:20 +08:00
umask
|
3
blueionic 2017-09-11 16:35:07 +08:00 via Android
umask 000 就好啦,以后创建的文件夹全是 777,文件全是 666
|
5
siagasky OP |
6
ZackB0T 2017-09-11 17:14:09 +08:00 via Android
Winscp 文件夹权限有个勾选项 大概是“循环设置权限”,之后这个文件下新建文件夹权限和设置这个保持一样。命令就不清了。man 下 chmod 看看
|
7
csensix 2017-09-11 17:18:32 +08:00
如果是通过程序来创建目录,应该有对应命令可以再目录创建后修改权限
|
8
Sh888 2017-09-11 17:45:48 +08:00 1
分区启用 acl 可以继承文件夹权限。http://wdj01.blog.51cto.com/1059856/677511
|
9
seers 2017-09-11 17:48:47 +08:00
写个脚本定时遍历一遍?
|
10
Tink 2017-09-11 18:53:06 +08:00 1
setfacl
|
11
erlinux 2017-09-11 19:07:07 +08:00
setfacl -m u::rwX -R <PATH>
setfacl -m d:u::rwX <PATH> 前者将现有目录内容递归设置为 777 权限,后者设置默认 ACL 权限(后续 folder 即按照 default 处理) 至于 “-X ” 表示只为目录设置执行权限,文件并不会被递归到执行权限。 这是 Red Hat Certified Engineer (RHCE)的内容 = 。 = |
12
erlinux 2017-09-11 19:10:46 +08:00
至于删除:
setfacl -x u:name,g:name file 删除文件的默认 ACL setfacl -k directory 删除目录的默认 ACL setfacl -b file 移除文件的所有 ACL getfacl 用来查询。好了,下一个问题(逃 |