комната: не может удалить каталог/: Разрешение отклонено

Я сделал каталог названным "shadi" и установил это разрешение для него

sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul  1 01:58 shadi

В этой ситуации у меня есть полномочия "других", но почему я не могу удалить ее?

sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied
23
задан 30 December 2018 в 09:59

6 ответов

Здесь проблема в том, что у вас нет разрешения "w" в каталоге /home. При удалении файла обратите внимание, что вы не записываете в этот файл, а изменяете содержимое каталога, в котором находится файл, поэтому наличие разрешения "w" на каталог является обязательным, если вы хотите удалить любой файл из каталога.

terminal screenshot of "ls -ld /home"

Если я нахожусь в каталоге с разрешением "w", я могу удалить любой из его файлов, не беспокоясь о самом разрешении на файл. Обратите внимание, что мой настоящий каталог /home/rohith имеет разрешение "w", и поэтому я могу удалить любой из его файлов независимо от разрешения файлов.

terminal screenshot of removing /home/rohith/shadi

Если тот же самый файл создан в каталоге "/home", который не имеет разрешения "w", я получу тот же результат, что и ваш ! :)

terminal screenshot of trying to remove /home/shadi

32
ответ дан 23 November 2019 в 02:41

Это происходит потому, что вы не являетесь владельцем каталога, он принадлежит 'root' и 'группе корней'. Поэтому, чтобы удалить каталог, вы можете либо изменить владельца и затем удалить его (здесь вы поднимаете свои права и становитесь 'root' для получения права собственности):

sudo chown $USER:$USER ./shadi
rm -r ./shadi

Или вы пропускаете получение права собственности и делаете sudo rm для поднятия ваших прав и становитесь 'root' для удаления:

sudo rm -r ./shadi
13
ответ дан 23 November 2019 в 02:41

Попробуйте следующее:

sudo rm -r ./shadi

Разрешения показывают корень владельца и группу корней, поэтому вы должны использовать sudo.

7
ответ дан 23 November 2019 в 02:41

используйте эту команду в качестве пользователя root: комната-rf ./shadi

2
ответ дан 23 November 2019 в 02:41

Это разные учетные записи.

Как бы вы ожидали безопасности от вашей учетной записи, если бы у всех было разрешение на удаление вашего домашнего каталога?

У вас нет разрешения w на удаление чужого домашнего каталога по умолчанию, за исключением случаев, когда они chmod +w его.

Вот различные разрешения, и пример (-rwxr-x---/rwxrx):

+-+-+-+-+
|+|u|g|o|
+-+-+-+-+
|r|1|1|1|
+-+-+-+-+
|w|2|2|2|
+-+-+-+-+
|x|4|4|4|
+-+-+-+-+
|*|7|5|0|
+-+-+-+-+
Все идет так: 1 + 2 + 4 = 7, 1 + 4 = 5, 0 = 0, то есть 750, т.е. идеальная система разрешений. Владелец (u в данном случае) может читать, записывать и выполнять файл, группа владельцев (g в данном случае) может читать и выполнять, а любой другой (o в данном случае) ничего не может делать. Такова легенда:
u: current user (User)
g: current user's groups (Groups)
o: not current user's groups (Others)
r: read permission (Read)
w: write permission (Write)
x: execute permission (X-ecute)
.
1
ответ дан 23 November 2019 в 02:41

вы должны сначала получить root-доступ:

sudo su

затем принудительно удалить файл

rm -rf ./shadi
-1
ответ дан 5 January 2021 в 22:38

Другие вопросы по тегам:

Похожие вопросы: