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

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
so:users_chmod [2025/03/19 10:16] – jkonczakso:users_chmod [2026/03/17 14:04] (aktualna) – [Zmiana uprawnień, grupy i użytkownika pliku] jkonczak
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 K 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 P 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: (edycja zewnętrzna)