Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
|
so:users_chmod [2025/03/25 14:37] jkonczak |
so:users_chmod [2026/03/17 15:04] (aktualna) jkonczak [Zmiana uprawnień, grupy i użytkownika pliku] |
||
|---|---|---|---|
| Linia 71: | 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 97: | 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 173: | 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 218: | 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 232: | 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 240: | 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. | ||
| Linia 252: | Linia 298: | ||
| ++++ manipulacja uprawnieniami | {{section>so:users_chmod:examples#chmod&inline&noheader}} ++++ | ++++ manipulacja uprawnieniami | {{section>so:users_chmod:examples#chmod&inline&noheader}} ++++ | ||
| ++++ user, group czy others | {{section>so:users_chmod:examples#ugo&inline&noheader}} ++++ | ++++ user, group czy others | {{section>so:users_chmod:examples#ugo&inline&noheader}} ++++ | ||
| - | ++++ uprawnninia tylko do zapisu, odczytu | {{section>so:users_chmod:examples#write_only&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}} ++++ | ++++ tworzenie/usuwanie wpisów w katalogach | {{section>so:users_chmod:examples#dir_create_remove&inline&noheader}} ++++ | ||
| </WRAP> | </WRAP> | ||