rf -Rf
コマンドを使用して削除できないファイルがいくつかあります。私はそれらのファイルの所有者であり、それらのファイルに割り当てられたグループは、ユーザーが所属するグループでもあります。さらに奇妙なのは、コンテンツを編集したり、ファイルのアクセス許可を変更したりできますが、移動したり、それらを削除します。
ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php
rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
誰が何が起こっているのか教えてもらえますか?
1つのファイルを削除するには、このファイルのを含むディレクトリ¹に対する書き込み権限が必要です。
ここでの権限はdr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
したがって、(root
以外の)誰もこのディレクトリ内のファイルを削除できません。所有者は最初にchmod
を使用する必要があります。
—
1.それにはかなりの理由があります。 rm
を使用してファイルを「削除」すると、実際にはディレクトリからnlinkしようとします(ハードリンクされたコピーは削除されません)。
別の可能な質問は属性です
lsattr file
このコマンドは、ファイルの属性を表示し、「i」属性のファイルは変更(および削除)できません
ファイルの属性を確認し、属性が設定されている場合は「i」属性を削除してください
chattr -i file
私も同じ問題を抱えていて、chmod
だけではうまくいきませんでした。まず、削除したいファイルの所有者(ユーザーとグループ)を変更する必要がありました。
Sudo chown -hR root:admin dir_to_delete
説明:
Sudo
:適切な権限があることを確認してくださいchown
:ファイルの所有者を変更するLinuxコマンド-hR
:ディレクトリとすべてのサブディレクトリの所有者を変更します。私はそれを見つけました ここ 。root
:新しいユーザーの名前admin
:新しいグループの名前私はすでに修飾子を777に変更しました。それが必要かどうかわかりません。
その理由は、親ディレクトリにchmod 705
またはそのようなもの。次のコマンドで親ディレクトリをchmod
できます。
chmod -R 777 directory_name
この後、そのディレクトリとそこに含まれるファイルを削除できます。