2011-11-17 21 views
46
[email protected]$ whoami 
    max 
    [email protected]$ ls -la ./defines.php 
    -rwxrwxrwx 1 max max 1985 2011-11-16 02:01 ./defines.php 
    [email protected]$ chmod 0777 ./defines.php 
    [email protected]$ rm ./defines.php 
    rm: cannot remove `./defines.php': Permission denied 
    [email protected]$ 

このファイルを削除するにはどうすればよいですか?rm:削除できません:許可が拒否されました

+0

ファイルはコマンドを実行しているのと同じディレクトリにありますか?それは 'rm defines.php'だけでなければなりません。どうしてあなたは '。/'をpreppendingしていますか? –

+0

その他: 'chmod 777' –

+1

違いはありません。 'file'と'。/ file'は同等です。 – Femaref

答えて

123

コードがすべてを語る:

[email protected]$ chmod 777 . 

さて、それはすべてを言っていません。

UNIXおよびLinuxでは、ファイルを削除する機能は、ではなく、そのファイルのアクセスビットによって決定されます。です。ファイルを含むディレクトリのアクセスビットによって決定されます。

このように考えると、ファイルを削除してもそのファイルは変更されません。あなたはファイルに書き込んでいないので、なぜファイルの "w"が重要なのですか?ファイルを削除するには、ファイルを指すディレクトリを編集する必要があるため、そのディレクトリに "w"が必要です。

+2

OMG!この回答は私に別の問題の解決策を与えました。この同じロジックがファイルの読み込みに適用され、削除だけではありません。 –

関連する問題