Webアプリケーションをアンインストールした後に実行されるシェルスクリプトがあります。このスクリプトは、アプリケーションの実行中に必要な権限をクリーンアップするように設計されています。
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/path
find