Jak mogę usunąć podkatalog innego użytkownika z mojego katalogu? [duplikować]

3

To pytanie ma już odpowiedź tutaj:

Mam katalog w moim katalogu domowym, który udostępniam grupie UNIX, ale teraz chcę go usunąć.

Jeśli w tym katalogu znajduje się plik należący do innego użytkownika, mogę go usunąć za pomocą rm, ponieważ katalog jest własnością mnie. Nie dotyczy to podkatalogów, które są własnością innych użytkowników. Nie mogę ich usunąć za pomocą rm -rf lub rmdir.

me@unix:~/blub.git$ ll
total 3
drwxrwxr-x 5 me collab 5 Nov 30 13:32 objects
me@unix:~/blub.git$ cd objects/ && ll
total 8
drwx------ 2 bob collab 3 Nov 30 13:31 bb
drwx------ 2 bob collab 3 Nov 30 13:31 cf
drwx------ 2 bob collab 3 Nov 30 13:32 e6
me@unix:~/blub.git/objects$ rm -rf bb
rm: cannot remove `bb': Permission denied

Jak w ogóle pozbyć się tego folderu współdzielonego? Bez pomocy roota lub innego użytkownika?

Lub zadać pytanie w inny sposób: Jak mogę naprawdę zrobić rmdir niepustego katalogu bez konieczności rekurencyjnego rm -rf wszystkich zawartych w nim rzeczy?

Edytować:

Wikipedia:

Aby usunąć katalog (z rm -r), należy usunąć całą jego zawartość rekurencyjnie. Wymaga to posiadania uprawnień do odczytu i zapisu oraz wykonywania uprawnień do tego katalogu (jeśli nie jest pusty) i rekursywnie do wszystkich niepustych podkatalogów (jeśli takie istnieją). Uprawnienia do odczytu są potrzebne, aby wyświetlić zawartość katalogu w celu ich usunięcia. Czasami prowadzi to do dziwnej sytuacji, w której niepustego katalogu nie można usunąć, ponieważ nie ma się do niego uprawnień do zapisu, a zatem nie można usunąć jego zawartości; ale gdyby ten sam katalog był pusty, można by go usunąć.

Czy to naprawdę prawda?

użytkownik1866407
źródło
To nie jest pytanie programowe
Evert
Może twój folder współdzielony jest po prostu jeszcze udostępniony? Mam na myśli, że jakiś proces wciąż go używa. Spróbuj lsof, może to mówi prawdziwy powód
Andrew D.

Odpowiedzi:

1

Uzyskaj użytkowników, którzy są właścicielami podkatalogów, aby umożliwić Ci pisanie w nich:

chmod -R 777 directoryname

... po czym będziesz mógł je usunąć.

Lub poproś kogoś z dostępem do konta root.

Jarmund
źródło
Szukałem rozwiązania, które mógłbym wykonać samodzielnie. Dziękuję już. Podałem swoje pytanie.
user1866407,
Zapytaj administratora, czy w Twoim systemie jest funkcja „wymuszonego usunięcia czegoś, co posiadam, i które zawiera treści, których nie posiadam”. Niektóre systemy działają, niektóre nie. Jeśli tak, nigdy więcej nie będziesz musiał pytać. Jeśli nie, prawdopodobnie istnieje powód. Jeśli chcesz wiedzieć, co to jest, zapytaj administratora systemu.
David Schwartz,
0

Wydaje się, że jest to możliwe tylko przez rootowanie lub użycie rozszerzonych atrybutów pliku (patrz dyskusja tutaj ).

Choć to trochę zaskakujące :)

Andrew D.
źródło
Dzięki. Ale nie mam ustawionych lepkich bitów. Dodałem przykład wyjaśniający to.
user1866407,