Mam kilka plików, których nie mogę usunąć za pomocą rf -Rf
polecenia. Jestem właścicielem tego pliku, a grupa przypisana do tych plików jest również grupą, w której znajduje się mój użytkownik. Jeszcze dziwniejsze jest to, że mogę edytować ich zawartość i mogę zmieniać uprawnienia dla nich, ale nie mogę się przenieść ani Usuń ich.
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
Czy ktoś może mi powiedzieć, co się dzieje?
linux
filesystems
file-permissions
rm
RaYell
źródło
źródło
Odpowiedzi:
Aby usunąć jeden plik, musisz mieć uprawnienia do zapisu w katalogu, który zawiera ¹ ten plik.
Tutaj są uprawnienia,
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
więc nikt (pozaroot
) nie może usuwać plików z tego katalogu. Właściciel musichmod
najpierw użyć .-
1. Istnieją całkiem dobre powody. „Usuwając” plik za pomocą
rm
, tak naprawdę próbujesz odłączyć go od katalogu (kopie podlinkowane nie zostaną usunięte).źródło
Miałem ten sam problem i
chmod
sam nie załatwiłem sprawy. Najpierw musiałem zmienić właściciela (użytkownika i grupę) plików, które chciałem usunąć.Wyjaśnienie:
sudo
: upewnij się, że masz odpowiednie prawachown
: Polecenie systemu Linux, aby zmienić właściciela pliku-hR
: zmiana właściciela katalogu i wszystkich podkatalogów. Znalazłem to tutaj .root
: nazwa nowego użytkownikaadmin
: nazwa nowej grupyZmieniłem już modyfikatory na 777; Nie wiem czy to było konieczne czy nie.
źródło
chown
nie byłeś właścicielem katalogu ani członkiem grupy, która jest właścicielem katalogu.Innym możliwym pytaniem jest atrybut
To polecenie pokaże atrybut pliku, a pliku z atrybutem „i” nie można modyfikować (i usuwać)
więc sprawdź atrybut pliku i usuń atrybut „i”, jeśli atrybut został ustawiony
źródło
Powodem jest to, że katalog macierzysty ma
chmod 705
coś takiego. Możeszchmod
nadrzędny katalog, wykonując następujące polecenie:Następnie możesz usunąć ten katalog i zawarte w nim pliki.
źródło