Odmówiono zgody ~, mimo że właściciel wymieniony jako ja


13

W jakiś sposób udało mi się przeskoczyć i zrzucić moją ~ w zapomnienie.

Kiedy próbuję zalogować się przez powłokę, dostaję

bash: ~/.bashrc : Permission denied

Nawet po ( jako root ) uruchomiłem

chown -hR nroach44 /home/nroach44

i

chmod -R 666 /home/nroach44

lub ( as nroach44 )

chmod -R 644 /home/nroach44

Żadne z tych poleceń nie zwraca błędów.

Również:

ls -la /home/nroach44

Zwraca wiele

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

Jakaś pomoc?


Dziękuje wszystkim! Każdy przewodnik po tym, jakie pliki potrzebują teraz uprawnień w folderze domowym? :)
NRoach44

/homepowinno być drwxrwxr-xi root:rooti /home/user rw rw -- or r-zależności, jeśli chcesz, aby inni użytkownicy mogą czytać pliki użytkowników. Katalogi i pliki wykonywalne z x. Ten sam userkatalog wewnętrzny nie będzie stanowił problemu, jeśli masz grupę = użytkownik (nroach44: nroach44) tak, jakbyś miał (dałbym tylko 0 (---) innym osobom).
laurent

Odpowiedzi:


14
chmod -R 666 /home/nroach44

lub

chmod -R 644 /home/nroach44

Spowoduje to, że wszystkie pliki w twoim katalogu domowym nie będą wykonywalne. To nie był dobry pomysł;)

Nie wiem, jak wyczyścić ten bałagan, jako szybkie obejście problemu możesz spróbować zrobić jako root:

chmod -R 755 /home/nroach44

To polecenie daje uprawnienia do wykonywania wszystkich plików w folderze domowym. To powinno rozwiązać twoje bezpośrednie problemy, ale może to być koszmar bezpieczeństwa.

Najlepszym rozwiązaniem jest otwarcie kolejnego konta użytkownika i przesyłanie do niego plików i ustawień jeden po drugim.


6
Nie wiedziałem, że do otwarcia katalogów potrzebne są uprawnienia x. Dziękuję Ci!
NRoach44

5

Katalogi muszą mieć ustawiony bit wykonywania, aby umożliwić zejście do katalogu. Zwykły 666jest po prostu zły, nawet jeśli działasz jako root. Daje to wszystkim uprawnienia do zapisu.

Aby zwiększyć bezpieczeństwo plików, uruchom:

chmod -R 640 /home/nroach44

Aby ponownie obniżyć foldery, uruchom:

find /home/nroach44 -type d -exec chmod 750 \;

Uwaga: Wybrałem xx0, ponieważ niektóre pliki mogą być wrażliwe i nie mogą być odczytane przez inne. Aby się uratować, usuń uprawnienia do odczytu / zapisu / wykonywania dla całego świata.


Testowałem tylko 666, czy to zadziała czy nie :)
NRoach44

4

Ponieważ wydaje się, że masz wystarczające uprawnienia do ~, musisz /homemieć x uprawnienia dla innych ( sudo chmod +rx /home) i sprawdzić, czy uprawnienia są prawidłowe w /home/nroach44/.bashrcpliku.

Inna kwestia: katalogi powinny mieć uprawnienia x, aby umożliwić w nich wejście, więc aby je wszystkie naprawić, musisz uruchomić sudo chmod -R +X /home/nroach44.


Wiedza o uprawnieniach do wykonywania potrzebnych do wchodzenia do folderów byłaby miła wcześniej wiedzieć, więc dzięki!
NRoach44

Nie wiedziałem o kapitale X+1
Lekensteyn

kapitał Xjest bardzo przydatny i bardzo cieszyłem się z jego odkrycia ... po długim czasie korzystania z find !!
laurent

1

Jest tak, ponieważ zawiedliłeś uprawnienia wszystkich plików w folderze HOME. Zachowaj ostrożność podczas gry z uprawnieniami do plików, używaj bardzo ostrożnie chmod i chown, bo możesz skończyć z bałaganem.

bash: ~/.bashrc : Permission denied

Myślę, że zmieniłeś uprawnienia wszystkich plików w swoim katalogu domowym, więc zmieniło się również pozwolenie bashrc.

Domyślne uprawnienia skryptu ~ / .bashrc to

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

Aby to wyjaśnić, powinieneś mieć zarówno uprawnienia do odczytu, jak i zapisu do pliku, inni użytkownicy grupy użytkowników powinni móc go odczytać, a wszyscy inni także mogą go odczytać.

Teraz zmień uprawnienia skryptu bashrc przy użyciu chmod na 644

chmod 644 ~/.bashrc

jeśli powyższe polecenia dają uprawnienia odmowy. następnie

uruchom chown jako sudo

sudo chown user1:usergrp ~/.bashrc

zastąp user1 swoją nazwą użytkownika i usergrp domyślną grupą użytkowników.

Teraz znowu zrób

chmod 644 ~/.bashrc

teraz będziesz mieć uprawnienia do skryptu basrc, teraz spróbuj się zalogować i sprawdź, czy występują inne błędy :)


0

Katalogi wymagają zestawu bitów x (dla katalogu ten bit jest postrzegany jako bit wyszukiwania), aby otworzyć. Używam więc drzewa, aby uzyskać tylko zestaw folderów i uniknąć koszmaru ustawiania wszystkich plików jako plików wykonywalnych (opcja dla drzewa to -d List directories only.):

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

Ostrzeżenie!!! powinieneś wziąć to pod uwagę:

  • użycie chmod lub chown rekursywnego w /katalogu głównym lub katalogach systemowych zniszczy Twój system operacyjny (w rzeczywistości wszystko, co rekurencyjne w /katalogu lub katalogach systemowych jest niebezpieczne)

  • nie jest dobrą praktyką bezpieczeństwa ustawiać takie uprawnienia zbiorcze

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.