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?
permissions
chmod
chown
NRoach44
źródło
źródło
/home
powinno byćdrwxrwxr-x
iroot:root
i/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 zx
. Ten samuser
katalog wewnętrzny nie będzie stanowił problemu, jeśli masz grupę = użytkownik (nroach44: nroach44) tak, jakbyś miał (dałbym tylko 0 (---) innym osobom).Odpowiedzi:
lub
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:
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.
źródło
Katalogi muszą mieć ustawiony bit wykonywania, aby umożliwić zejście do katalogu. Zwykły
666
jest 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:
Aby ponownie obniżyć foldery, uruchom:
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.
źródło
Ponieważ wydaje się, że masz wystarczające uprawnienia do ~, musisz
/home
mieć x uprawnienia dla innych (sudo chmod +rx /home
) i sprawdzić, czy uprawnienia są prawidłowe w/home/nroach44/.bashrc
pliku.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
.źródło
X
+1X
jest bardzo przydatny i bardzo cieszyłem się z jego odkrycia ... po długim czasie korzystania z find !!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.
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
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
jeśli powyższe polecenia dają uprawnienia odmowy. następnie
uruchom chown jako sudo
zastąp user1 swoją nazwą użytkownika i usergrp domyślną grupą użytkowników.
Teraz znowu zrób
teraz będziesz mieć uprawnienia do skryptu basrc, teraz spróbuj się zalogować i sprawdź, czy występują inne błędy :)
źródło
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.
):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
źródło