web-dev-qa-db-ja.com

所有していない実行可能ファイルへのハードリンクを削除するにはどうすればよいですか?

次のコマンドを使用して、実行可能ファイルへのハードリンクを作成しました。

ln `which xcrun` gcc

リンクは期待どおりに機能しました。ただし、削除する権限がないようです。

$ rm gcc
override rwxr-xr-x  root/wheel compressed for gcc? y
rm: gcc: Permission denied
$ unlink gcc
unlink: gcc: Permission denied

ええとああ。

$ ls -l gcc
-rwxr-xr-x  3 root  wheel  1172 May 10  2012 gcc

Sudoアクセス権がありません。ハードリンクを削除するにはどうすればよいですか?

5
Maxpm

Ls-ldを実行します。ハードリンクを含むディレクトリの。ディレクトリを所有している(または「w」権限を持っている)場合は、ディレクトリを削除できるはずです。ディレクトリ(つまり/ tmp)に「t」(スティッキービット)が設定されている場合、ファイルの所有者ではないため、このリンクを削除することはできません。次回はln-s(シンボリックリンク)を使用します。 ACLにより、ファイルの削除が妨げられる場合もあります。

7
mdpc

ハードリンクは元のアクセス許可で作成されます。そうしないと、誰でも任意のファイルに対する編集アクセス許可を自分に与えることができるためです。

ファイルを削除するには、親フォルダーへの書き込み権限が必要です。 ACLがないことを確認してください(ls -e)それを防ぐ。

3
Daniel Beck