HPUX setacl 留下 uid

HPUX setacl 留下 uid

我有一个在卸载 Web 应用程序后执行的 shell 脚本。该脚本旨在清理应用程序执行期间所需的权限。

find /opt/path -exec setacl -d user:myUser {} ';'

执行此命令并删除 acl 后,我留下一个如下所示的 acl

user:101:--- /opt/path

如何正确调用setacl删除用户而不留下 uid?

答案1

如果您准确地引用了您的命令:

find /opt/path -exec setacl -d user:myUser{} ';'

你错过了一个关键的空间:

find /opt/path -exec setacl -d user:myUser {} ';'

前者调用未定义的(或者可能是实现定义的)行为find;当{}本身不存在于参数中时,它可能会也可能不会扩展文件名。但随后它会调用setacl没有文件名的命令;它将文件名与控制参数结合起来user:myUser

它不太可能是正确的 - 但我希望这只是你从系统到 SO 的转录中的一个拼写错误。

答案2

用户101是该文件的所有者吗?如果是这样,您需要将文件更改为不同的用户 ID chown(除了调用之外或代替调用setacl)。每个文件属于一个用户和一个组;除此之外还有 ACL。

请注意,我从未在 HP/UX 上使用过 ACL,因此我可能遗漏了一些内容。

如果您在运行该命令之前显示ls -ld /opt/path和的输出可能会有所帮助。getacl /opt/pathfind

相关内容