Narzędzia użytkownika

Narzędzia witryny


so:users_chmod

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
so:users_chmod [2025/03/19 11:16]
jkonczak
so:users_chmod [2026/03/17 15:04] (aktualna)
jkonczak [Zmiana uprawnień, grupy i użytkownika pliku]
Linia 54: Linia 54:
   ​   ​
 <​html></​small></​html>​ <​html></​small></​html>​
-  ​+ 
 +++++ Przykłady: | {{section>​so:​users_chmod:​examples#​id&​inline&​noheader}} ++++ 
 ===== Użytkownicy w systemie, historia logowania, komunikacja ===== ===== Użytkownicy w systemie, historia logowania, komunikacja =====
  
Linia 69: Linia 71:
 <​html><​small></​html>​ <​html><​small></​html>​
  
-~~Zadanie.#​~~ Sprawdź jacy użytkownicy byli zalogowaniu na polluksie w chwili ''​2023-03-03 13:30''​+~~Zadanie.#​~~ Sprawdź jacy użytkownicy byli zalogowaniu na polluksie w chwili ''​2026-03-16 10:04:10''​
  
 <​html></​small></​html>​ <​html></​small></​html>​
Linia 88: Linia 90:
  
 <​html></​small></​html>​ <​html></​small></​html>​
 +
 +++++ Przykłady: | {{section>​so:​users_chmod:​examples#​who&​inline&​noheader}} ++++
  
 ===== Przełączenie się na innego użytkownika ===== ===== Przełączenie się na innego użytkownika =====
Linia 93: Linia 97:
 Posiadając odpowiednie uprawnienia i/lub znając odpowiednie hasło (w zależności od ustawień systemu) można przełączyć się na innego użytkownika bądź wykonać komendę jako inny użytkownik. Posiadając odpowiednie uprawnienia i/lub znając odpowiednie hasło (w zależności od ustawień systemu) można przełączyć się na innego użytkownika bądź wykonać komendę jako inny użytkownik.
  
-Komenda ''​**su** [-] [//​użytkownik//​]''​ po autoryzacji ​uruchamia domyślną powłokę dla podanego użytkownika (domyślnie roota). \\ +Komenda ''​**su** [-] [//​użytkownik//​]''​ po uwierzytelnieniu ​uruchamia domyślną 
-Komenda ''​su -c //komenda// [-] [//​użytkownik//​]''​ po autoryzacji ​uruchamia w domyślnej powłoce dla podanego użytkownika (domyślnie roota) podaną komendę. \\+powłokę dla podanego użytkownika (domyślnie roota). \\ 
 +Komenda ''​su -c //komenda// [-] [//​użytkownik//​]''​ po uwierzytelnieniu ​uruchamia 
 +w domyślnej powłoce dla podanego użytkownika (domyślnie roota) podaną komendę. \\
 ''​su''​ jest dostępna w każdym uniksopodobnym systemie. ''​su''​ jest dostępna w każdym uniksopodobnym systemie.
 W domyślnych ustawieniach Linuksa komenda ''​su''​ wymaga podania hasła użytkownika docelowego (i w niektórych dystrybucjach przynależności do odpowiedniej grupy, zwykle ''​wheel''​). W domyślnych ustawieniach Linuksa komenda ''​su''​ wymaga podania hasła użytkownika docelowego (i w niektórych dystrybucjach przynależności do odpowiedniej grupy, zwykle ''​wheel''​).
  
-Na wielu dystrybucjach instalowana jest też komenda ''​sudo''​ która ma na celu zezwolenie wybranym użytkownikom na wykonywanie wybranych komend z uprawnieniami wskazanych użytkowników. Do autoryzacji ​''​sudo''​ wykorzystuje hasło bieżącego bądź docelowego użytkownika.+Na wielu dystrybucjach instalowana jest też komenda ''​sudo''​ która ma na celu 
 +zezwolenie wybranym użytkownikom na wykonywanie wybranych komend z uprawnieniami 
 +wskazanych użytkowników. Do uwierzytelnienia ​''​sudo''​ wykorzystuje hasło 
 +bieżącego bądź docelowego użytkownika.
 W niektórych dystrybucjach komenda ''​sudo''​ jest nadużywana do zastąpienia komendy ''​su''​. W niektórych dystrybucjach komenda ''​sudo''​ jest nadużywana do zastąpienia komendy ''​su''​.
  
-~~Zadanie.#​~~ Zaloguj się na podany przez prowadzącego serwer przez ssh (prawdopodobnie ''​ssh user//​N//​@fe80::​1%br0''​). Zmień użytkownika na ''​root''​. Zmień użytkownika na innego ''​user//​N//''​.+~~Zadanie.#​~~ Zaloguj się na podany przez prowadzącego serwer przez ssh 
 +(prawdopodobnie ''​ssh user//​N//​@fe80::​1%2''​, gdzie N musisz zastąpić numerem 
 +swojego komputera). 
 +Zmień użytkownika na ''​root''​. 
 +Zmień użytkownika na innego ''​user//​N//''​.
  
 <​html><​small></​html>​ <​html><​small></​html>​
Linia 113: Linia 126:
  
 <​html></​small></​html>​ <​html></​small></​html>​
 +
 +++++ Przykłady: | {{section>​so:​users_chmod:​examples#​su&​inline&​noheader}} ++++
  
 ===== Uprawnienia dostępu do plików ===== ===== Uprawnienia dostępu do plików =====
Linia 167: Linia 182:
 \\ \\
 a ''​rwx--x--x''​ pozwalają właścicielowi na odczyt, zapis i wykonanie pliku, a grupie i pozostałym tylko na wykonanie (''​711''​). a ''​rwx--x--x''​ pozwalają właścicielowi na odczyt, zapis i wykonanie pliku, a grupie i pozostałym tylko na wykonanie (''​711''​).
 +
 +++++ Ilustracja tego na który z trzech zestawów uprawnień patrzyć|
 +{{page>​so:​users_chmod:​which_perm_group&​inline&​noheader}}++++
  
 Aby zobaczyć szczegółowe informacje o pliku, w tym uprawnienia,​ można wykonać ''​**stat** //​plik//''​. Aby zobaczyć szczegółowe informacje o pliku, w tym uprawnienia,​ można wykonać ''​**stat** //​plik//''​.
 \\ \\
-Uprawnienia są też wyświetlane w wynikach ''​ls -l''​ i ''​tree -p''​.+Uprawnienia są też wyświetlane w wynikach ''​ls -l''​ i ''​tree -p'' ​(<​small>​lub razem z nazwą użytkownia i grupy ''​tree -pug''​(</​small>​).
 \\ \\
 Wszystkie powyższe polecenia dodają na początek uprawnień literę określającą rodzaj pliku. Wszystkie powyższe polecenia dodają na początek uprawnień literę określającą rodzaj pliku.
Linia 212: Linia 230:
 Zarówno ''​chmod'',​ ''​chgrp''​ i ''​chown''​ przyjmują przełączniki ''​-R''​ (''​--recursive''​) dla rekursywnej zmiany i ''​--reference=//​plik//''​ dla ustawienia uprawnień/​grupy/​właściciela identycznego jak we wskazanym pliku. Zarówno ''​chmod'',​ ''​chgrp''​ i ''​chown''​ przyjmują przełączniki ''​-R''​ (''​--recursive''​) dla rekursywnej zmiany i ''​--reference=//​plik//''​ dla ustawienia uprawnień/​grupy/​właściciela identycznego jak we wskazanym pliku.
  
-//​Ćwiczenia wykonuj na podanym przez prowadzącego serwerze. \\ Do tworzenia plików możesz wykorzystać np. komendę // ''​fortune > //​plik//''​.+//​Ćwiczenia wykonuj na podanym przez prowadzącego serwerze ​(''​ssh user//​N//​@fe80::​1%2''​). 
 +\\ Do tworzenia plików możesz wykorzystać np. komendę // ''​fortune > //​plik//''​. 
 + 
 +<​small>​ 
 +++++ Instrukcja jak wykonywać ćwiczenia na własnym urządzeniu z Linuksem | 
 +Żeby robić poniższe ćwiczenia z własnego komputera, możesz albo: 
 +  - Dodać do swojego systemu przykładowe grupy i użytkowników komendami:<​code bash> 
 +groupadd even 
 +groupadd odd 
 +groupadd low 
 +groupadd high 
 +useradd -g odd  -G low  -m user1 
 +useradd -g even -G low  -m user2 
 +useradd -g odd  -G high -m user3 
 +useradd -g even -G high -m user4 
 +passwd -d user1 
 +passwd -d user2 
 +passwd -d user3 
 +passwd -d user4</​code>​ 
 +  - Zbudować i użyć {{so:​users_chmod:​container-for-file-permission-labs.tar.xz|obrazu dockera}} (o ile znasz dokera), np. komendami:<​code bash> 
 +curl -s https://​www.cs.put.poznan.pl/​jkonczak/​_media/​so:​users_chmod:​container-for-file-permission-labs.tar.xz | tar xJ 
 +docker build --tag container-for-file-permission-labs container-for-file-permission-labs 
 +docker run --network=none --rm -ti container-for-file-permission-labs</​code>​ 
 +++++ 
 +</​small>​
  
 ~~Zadanie.#​~~ Stwórz plik. Ustaw takie prawa dostępu, żeby tylko właściciel mógł odczytać plik. ~~Zadanie.#​~~ Stwórz plik. Ustaw takie prawa dostępu, żeby tylko właściciel mógł odczytać plik.
Linia 226: Linia 268:
 ~~Zadanie.#​~~ Stwórz plik. Ustaw takie prawa dostępu, żeby tylko właściciel i pozostali mogli odczytać plik. Sprawdź czy osoba należąca do grupy pliku może go odczytać. ~~Zadanie.#​~~ Stwórz plik. Ustaw takie prawa dostępu, żeby tylko właściciel i pozostali mogli odczytać plik. Sprawdź czy osoba należąca do grupy pliku może go odczytać.
  
-~~Zadanie.#​~~ Stwórz katalog ze zwykłym plikiem w środku. Odbierz prawo do wykonywania katalogu. Spróbuj wylistować katalog, wejść do katalogu i wyświetlić plik bez wchodzenia do katalogu.+~~Zadanie.#​~~ Stwórz katalog ​ze zwykłym plikiem ​P i pustym podkatalogiem ​w środku. 
 +Odbierz prawo do wykonywania katalogu ​K. 
 +Spróbuj wylistować ​ze szczegółami ​katalog ​K, wejść do niego, 
 +oraz wyświetlić plik bez wchodzenia do katalogu ​K.
  
-~~Zadanie.#​~~ Zmień prawa dostępu katalogu na ''​u=rwx,​go=rx''​. Stwórz w tym katalogu zwykły plik. Wyświetl plik jako inny użytkownik. Wyświetl zawartość katalogu jako inny użytkownik. \\ Następnie zmień prawa do katalogu ''​u=rwx,​go=x''​. Spróbuj ponownie wyświetlić plik i zawartość katalogu jako inny użytkownik.+~~Zadanie.#​~~ Zmień prawa dostępu katalogu na ''​u=rwx,​go=rx''​. Stwórz w tym 
 +katalogu zwykły plik. Wyświetl plik jako inny użytkownik. Wyświetl zawartość 
 +katalogu jako inny użytkownik. 
 +\\ 
 +Następnie zmień prawa do katalogu ​na ''​u=rwx,​go=x''​. Spróbuj ponownie 
 +wyświetlić plik i zawartość katalogu jako inny użytkownik.
  
 ~~Zadanie.#​~~ Stwórz katalog z prawami dostępu ''​777''​ i stwórz w nim dwa pliki. Jednemu z nich ustaw prawa ''​600''​. Z innego użytkownika spróbuj usunąć oba pliki. ~~Zadanie.#​~~ Stwórz katalog z prawami dostępu ''​777''​ i stwórz w nim dwa pliki. Jednemu z nich ustaw prawa ''​600''​. Z innego użytkownika spróbuj usunąć oba pliki.
Linia 234: Linia 284:
 ~~Zadanie.#​~~ W katalogu użytkownika A z prawami dostępu ''​777''​ stwórz jako użytkownik B dwa katalogi: jeden pusty, jeden z plikiem w środku. Spróbuj usunąć te katalogi jako użytkownik A. ~~Zadanie.#​~~ W katalogu użytkownika A z prawami dostępu ''​777''​ stwórz jako użytkownik B dwa katalogi: jeden pusty, jeden z plikiem w środku. Spróbuj usunąć te katalogi jako użytkownik A.
  
-~~Zadanie.#​~~ Czy możesz zmienić nazwę katalogu K który nie dał się usunąć w poprzednim zadaniu? Czy możesz przenieść katalog K do innego? Czy możesz przenieść katalog zawierający K do innego?+~~Zadanie.#​~~ Czy możesz zmienić nazwę katalogu K który nie dał się usunąć w 
 +poprzednim zadaniu? Czy możesz przenieść katalog K do innego ​katalogu? Czy 
 +możesz przenieść katalog zawierający K do innego ​katalogu?
  
 ~~Zadanie.#​~~ Stwórz plik i katalog z plikiem w środku i odbierz wszystkim trzem wszystkie uprawnienia. Zmień użytkownika na root i spróbuj wyświetlić oba pliki. ~~Zadanie.#​~~ Stwórz plik i katalog z plikiem w środku i odbierz wszystkim trzem wszystkie uprawnienia. Zmień użytkownika na root i spróbuj wyświetlić oba pliki.
  
 ~~Zadanie.#​~~ Z roota zmień właściciela wybranego pliku. Następnie zmień grupę innego pliku na ''​www-data''​. ~~Zadanie.#​~~ Z roota zmień właściciela wybranego pliku. Następnie zmień grupę innego pliku na ''​www-data''​.
 +
 +<​html><​style>​.wrap_nomargin{margin:​0} .wrap_nomargin p{margin:​0}</​style></​html>​
 +<WRAP nomargin>​
 +Przykłady:
 +++++ umask | {{section>​so:​users_chmod:​examples#​umask&​inline&​noheader}} ++++
 +++++ manipulacja uprawnieniami | {{section>​so:​users_chmod:​examples#​chmod&​inline&​noheader}} ++++
 +++++ user, group czy others | {{section>​so:​users_chmod:​examples#​ugo&​inline&​noheader}} ++++
 +++++ uprawnienia tylko do zapisu, odczytu | {{section>​so:​users_chmod:​examples#​write_only&​inline&​noheader}} ++++
 +++++ tworzenie/​usuwanie wpisów w katalogach | {{section>​so:​users_chmod:​examples#​dir_create_remove&​inline&​noheader}} ++++
 +</​WRAP>​
 +++++ suid i sgid | {{section>​so:​users_chmod:​examples#​suid_sgid&​inline&​noheader}} ++++
  
 ===== Data utworzenia, modyfikacji,​ dostępu ===== ===== Data utworzenia, modyfikacji,​ dostępu =====
Linia 265: Linia 328:
 <​html></​small></​html>​ <​html></​small></​html>​
  
 +++++ Przykłady: | {{section>​so:​users_chmod:​examples#​touch&​inline&​noheader}} ++++
   ​   ​
 ~~META: ~~META:
 language = pl language = pl
 ~~ ~~
so/users_chmod.1742379371.txt.gz · ostatnio zmienione: 2025/03/19 11:16 (edycja zewnętrzna)