chr*_*sst 8 windows bash cygwin
我目前正在目标Windows Server 2003计算机上运行Cygwin,以启动一个shell脚本,除其他外,它会在光盘上创建一堆文件.但是,在创建文件后,我不再有权通过Windows操作它们.
创建文件后,所有者将设置为"SYSTEM",并且权限Administrators/Creator Group/Creator Owner/system仅设置为"特殊权限",而不是其他任何内容.Everyone和Users的权限具有Read&Execute,List文件夹内容和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
Run Code Online (Sandbox Code Playgroud)
您可以尝试设置umask:
umask u=rwx,g=rwx,o=rwx
Run Code Online (Sandbox Code Playgroud)
这应该为用户、组和其他人提供对任何新创建的目录的读/写/执行权限。
如果您只想永久修改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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)