← Back to course

Uprawnienia i sudo

Uprawnienia i sudo

Witaj ponownie.

W poprzedniej lekcji nauczyłeś się czytać pliki i wyszukiwać w nich tekst.

Teraz wchodzimy w część, w której Linux zaczyna mówić:

“Permission denied.”

Nie bierz tego do siebie.

Linux nie jest zły.

Linux po prostu chroni system przed chaosem, błędami i zaspanymi palcami z uprawnieniami administratora.

Czego Się Nauczysz

W tej lekcji nauczysz się:

Misja

Twoja misja jest prosta:

Zrozumieć, dlaczego niektóre pliki można czytać, zmieniać lub uruchamiać — a inne uprzejmie odmawiają jak poważny ochroniarz przy drzwiach.

Sprawdź, Kim Jesteś

Najpierw sprawdź aktualnego użytkownika:

whoami

Możesz zobaczyć coś takiego:

viktor

To znaczy, że pracujesz jako użytkownik viktor.

Nie jesteś rootem.

I bardzo dobrze.

Bycie rootem cały czas jest jak jazda czołgiem po chleb.

Możliwe, ale niepotrzebne i trochę niepokojące.

Stwórz Plik do Ćwiczeń

Przejdź do folderu ćwiczeń:

cd ~/terminal-practice

Jeśli nie istnieje, stwórz go:

mkdir -p ~/terminal-practice
cd ~/terminal-practice

Stwórz plik:

touch permissions-demo.txt

Teraz pokaż go ze szczegółami:

ls -l permissions-demo.txt

Możesz zobaczyć coś takiego:

-rw-r--r-- 1 viktor viktor 0 May 2 10:00 permissions-demo.txt

Na początku wygląda strasznie.

Ale to nie magia.

To tylko informacje w poważnej marynarce.

Rozumienie Symboli Uprawnień

Spójrz na tę część:

-rw-r--r--

Pierwszy znak mówi o typie pliku:

- oznacza zwykły plik
d oznacza katalog

Potem uprawnienia są podzielone tak:

rw- r-- r--

Te grupy oznaczają:

użytkownik  grupa  inni

Czyli:

rw-   właściciel może czytać i pisać
r--   grupa może tylko czytać
r--   inni mogą tylko czytać

Linux mówi w zasadzie:

“Właściciel może to edytować. Reszta może patrzeć, ale ręce do kieszeni.”

Co Oznaczają r, w i x

Uprawnienia używają trzech liter:

r = read
w = write
x = execute

Dla plików:

Dla katalogów:

Tak, x na katalogu oznacza “wejść”.

Linux lubi utrzymywać życie interesującym.

Dodaj Tekst do Pliku

Zapisz coś w pliku:

echo "Permissions are important." > permissions-demo.txt

Przeczytaj go:

cat permissions-demo.txt

Powinieneś zobaczyć:

Permissions are important.

Na razie wszystko działa.

Plik należy do ciebie i możesz do niego pisać.

Usuń Prawo Zapisu

Teraz usuń sobie prawo zapisu:

chmod u-w permissions-demo.txt

Sprawdź:

ls -l permissions-demo.txt

Możesz zobaczyć:

-r--r--r-- 1 viktor viktor 28 May 2 10:00 permissions-demo.txt

Teraz spróbuj znowu coś zapisać:

echo "Trying to write again." > permissions-demo.txt

Możesz dostać:

Permission denied

Dobrze.

Linux właśnie ochronił plik przed zmianami.

Nawet przed tobą.

Trochę niegrzeczne, ale technicznie poprawne.

Przywróć Prawo Zapisu

Dodaj sobie prawo zapisu z powrotem:

chmod u+w permissions-demo.txt

Teraz spróbuj:

echo "Writing works again." > permissions-demo.txt
cat permissions-demo.txt

Powinieneś zobaczyć:

Writing works again.

Gratulacje.

Usunąłeś uprawnienie, zepsułeś własny dostęp i naprawiłeś go.

To właściwie szkolenie Linuxa w miniaturze.

Uczyń Skrypt Wykonywalnym

Stwórz mały skrypt:

echo 'echo "Hello from my script!"' > hello.sh

Spróbuj go uruchomić:

./hello.sh

Możesz zobaczyć:

Permission denied

Dlaczego?

Bo plik nie jest jeszcze wykonywalny.

Dodaj prawo wykonywania:

chmod u+x hello.sh

Teraz uruchom:

./hello.sh

Powinieneś zobaczyć:

Hello from my script!

Właśnie to robi x.

Mówi Linuxowi:

“Ten plik można uruchomić.”

Uprawnienia Numeryczne

Możesz zobaczyć komendy takie jak:

chmod 755 hello.sh

To numeryczny styl uprawnień.

Liczby oznaczają:

7 = read + write + execute
5 = read + execute
5 = read + execute

Czyli 755 oznacza:

właściciel może czytać, pisać i uruchamiać
grupa może czytać i uruchamiać
inni mogą czytać i uruchamiać

Inny popularny przykład:

chmod 644 permissions-demo.txt

To oznacza:

właściciel może czytać i pisać
grupa może czytać
inni mogą czytać

Na razie zapamiętaj:

Nie musisz dziś zapamiętać wszystkiego.

Twój mózg to nie pendrive.

Czym Jest sudo?

sudo oznacza “uruchom tę komendę z uprawnieniami administratora”.

Przykład:

sudo pacman -S htop

Na Ubuntu lub Debianie:

sudo apt install htop

Na Fedorze:

sudo dnf install htop

sudo jest używane, gdy komenda potrzebuje wyższych uprawnień.

Na przykład:

sudo jest potężne.

Nie używaj go automatycznie.

Używanie sudo wszędzie jest jak otwieranie każdych drzwi piłą łańcuchową.

Skuteczne, ale mało eleganckie.

Częsty Błąd Uprawnień

Możesz zobaczyć:

Permission denied

To zwykle oznacza:

Zanim użyjesz sudo, zapytaj:

Czy naprawdę potrzebuję tutaj mocy administratora?

Czasami tak.

Czasami odpowiedź brzmi: “Nie, Viktor, jesteś tylko w złym folderze.”

Ostrożnie z sudo

To jest niebezpieczne:

sudo rm -r /some/system/folder

Może usunąć ważne pliki systemowe.

Linux zrobi dokładnie to, o co prosisz.

Nie to, co miałeś na myśli.

To różnica między komputerem a mądrym przyjacielem.

Praktyka

Spróbuj tego:

cd ~/terminal-practice
touch permission-test.txt
ls -l permission-test.txt
chmod u-w permission-test.txt
ls -l permission-test.txt
chmod u+w permission-test.txt
ls -l permission-test.txt
echo 'echo "Script works!"' > test-script.sh
chmod u+x test-script.sh
./test-script.sh

Potem odpowiedz:

  1. Co pokazuje whoami?
  2. Co robi chmod u-w?
  3. Co robi chmod u+w?
  4. Co robi chmod u+x?
  5. Co pozwala zrobić sudo?

Mini Wyzwanie

Stwórz skrypt my-info.sh.

Ma wypisać:

Hello from Linux!
Today I am learning permissions.

Potem:

  1. Stwórz plik.
  2. Spróbuj go uruchomić.
  3. Dodaj prawo wykonywania.
  4. Uruchom go ponownie.
  5. Sprawdź uprawnienia przez ls -l.

Używaj tylko terminala.

Bez myszy.

Mysz właśnie złożyła skargę do HR.

Podsumowanie

Dzisiaj nauczyłeś się, że:

Uprawnienia mogą wyglądać dziwnie na początku, ale są jednym z powodów, dla których Linux jest potężny i bezpieczny.

Linux mówi “nie” nie dlatego, że cię nie lubi.

Mówi “nie”, bo czasem jesteś jedną komendę od bardzo edukacyjnej katastrofy.

Następna Lekcja

W następnej lekcji nauczymy się instalować programy z terminala za pomocą menedżerów pakietów.

To moment, w którym Linux staje się bardzo wygodny.

A użytkownicy Arch Linux zaczynają tajemniczo się uśmiechać.