このディレクトリを削除する方法は?

このディレクトリを削除する方法は?

利用できないディレクトリがありますrmdir。継続permission deniedエラーが発生します。ただし、(を使用して)ディレクトリを一覧表示すると、次ls -lの結果が表示されます。

drwxrwxrwx  2 user user 4096 Aug 28 09:34 directory

statこれが私に与えるものは:

  File: `directory/'
  Size: 4096            Blocks: 16         IO Block: 32768  directory
Device: 12h/18d Inode: 102368771   Links: 2
Access: (0777/drwxrwxrwx)  Uid: ( 1000/  user)   Gid: ( 1000/  user)
Access: 2015-08-31 03:00:20.630000002 +0200
Modify: 2015-08-28 09:34:16.772930001 +0200
Change: 2015-08-31 12:25:04.920000000 +0200

では、このディレクトリを削除する方法は?

答え1

ディレクトリを削除しようとすると、権限はfoo/bar/関連bar要素ではありません。barディレクトリから名前を削除するのはfoo正しいことfooなので、書き込み権限が必要ですfoo

あなたの場合は、現在のディレクトリの権限を確認してくださいls -ld .

あなたは見つけることができます「rmが他のユーザー所有権のファイルを削除できるようになるのはなぜですか?」への答えです。インスピレーションを与える。

答え2

dir必要な権限を持たないファイルが必要です。所有者をrecursivelyすべてに変更してdirから削除してみてください。

$ sudo chown -R user:user dir/
$ rm -rf dir/

~からman rm

-r, -R, --recursive
  remove directories and their contents recursively
-f, --force
          ignore nonexistent files, never prompt

答え3

別の可能性は、「不変ビット」がこのディレクトリに設定されていることです。で確認できますls -d <directory>。設定された権限は出力chattrに表示されません。stat

stephan@x230 ~ % stat testdir
  File: ‘testdir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 13713629    Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/ stephan)   Gid: ( 1000/ stephan)
Access: 2015-08-31 14:05:49.957299346 +0200
Modify: 2015-08-31 14:05:25.657267292 +0200
Change: 2015-08-31 14:05:42.685289494 +0200
 Birth: -


stephan@x230 ~ % lsattr -d testdir
----i--------e-- testdir`

不変ビットを削除するには、ルートである必要があります。 chattr -i testdir

関連情報