我目前正在目标Windows Server 2003计算机上运行Cygwin,以启动一个shell脚本,除其他外,它会在光盘上创建一堆文件。但是,在创建文件后,我不再有权通过Windows操作它们。
创建文件后,所有者将设置为“SYSTEM”,Administrators/Creator Group/Creator Owner/system
的权限仅设置为“特殊权限”,而不是其他任何内容。
每个人和用户的权限都有Read&执行,列出文件夹内容和阅读。
我的问题是我现在无法通过Windows删除/修改文件。我希望在我的脚本中内置一些东西(shell脚本或在Cygwin中调用的东西),这样可以让管理员完全控制文件夹和所有内容。
我目前的解决方法是通过Cygwin进行文件修改,但这不是首选。我还使用setfacl -r -m default:other:rwx
为“用户”组添加了写入权限,但它似乎没有递归选项,仍然没有“完全控制”
有没有更好的方法来使用setfacl
?我可以使用不同/提升的权限调用shell脚本吗?
getfacl
在新创建的目录上的结果:
$ getfacl Directory/
# file: Directory/
# owner: SYSTEM
# group: root
user::rwx
group::r-x
group:Users:rwx
mask:rwx
other:r-x
default:user::rwx
default:group::r-x
default:group:Users:rwx
default:mask:rwx
default:other:r-x
答案 0 :(得分:4)
您可以尝试设置umask
:
umask u=rwx,g=rwx,o=rwx
这应该为任何新创建的目录提供用户,组和其他读/写/执行。
如果您只想永久修改umask
,可以将其添加到.bash_profile
修改 - 在umask之前/之后添加了mkdir的示例。
以下是我设置getfacl
之前创建的目录中umask
的输出:
[/cygdrive/c/Documents and Settings/NOYB/Desktop]
==> getfacl test_wo_umask/
# file: test_wo_umask/
# owner: NOYB
# group: Domain Users
user::rwx
group::r-x
group:root:rwx
group:SYSTEM:rwx
mask:rwx
other:r-x
default:user::rwx
default:user:NOYB:rwx
default:group::r-x
default:group:root:rwx
default:group:SYSTEM:rwx
default:mask:rwx
default:other:r-x
以下是我设置getfacl
后创建的目录中umask
的输出:
[/cygdrive/c/Documents and Settings/NOYB/Desktop]
==> getfacl test_w_umask/
# file: test_w_umask/
# owner: NOYB
# group: Domain Users
user::rwx
group::rwx
group:root:rwx
group:SYSTEM:rwx
mask:rwx
other:rwx
default:user::rwx
default:user:NOYB:rwx
default:group::rwx
default:group:root:rwx
default:group:SYSTEM:rwx
default:mask:rwx
default:other:rwx