W systemie Linux polecenie chmod 640 raport spowoduje nadanie następujących uprawnień plikowi raport:
A. wykonanie dla właściciela pliku, odczyt dla grupy, brak uprawnień dla pozostałych
B. odczyt, zapis i wykonanie dla właściciela pliku, odczyt dla grupy, brak uprawnień dla pozostałych
C. odczyt i zapis dla właściciela pliku, odczyt dla grupy, brak uprawnień dla pozostałych
D. odczyt i zapis dla właściciela pliku, odczyt i wykonanie dla grupy, brak uprawnień dla pozostałych
Polecenie chmod 640 raport ustawia uprawnienia zapisane w postaci ósemkowej, czyli po jednej cyfrze dla trzech grup użytkowników: właściciela pliku, grupy oraz pozostałych użytkowników. Cyfra 6 oznacza 4 + 2, czyli odczyt i zapis: r w -. Właściciel pliku raport może więc go czytać oraz modyfikować. Cyfra 4 oznacza tylko odczyt: r - -, dlatego członkowie grupy mogą zobaczyć zawartość pliku, ale nie mogą jej zmienić ani uruchomić. Cyfra 0 oznacza brak jakichkolwiek praw: - - -, więc inni użytkownicy systemu nie mają dostępu do tego pliku. W praktyce zapis symboliczny takiego ustawienia to rw-r-----.
To jest bardzo typowe ustawienie dla plików z danymi, raportów, konfiguracji albo dokumentów roboczych, które mają być dostępne dla zespołu tylko do odczytu. Moim zdaniem to jedno z tych poleceń, które naprawdę warto znać na pamięć, bo w administracji Linuksem pojawia się ciągle. Dobra praktyka mówi, żeby nadawać tylko takie uprawnienia, jakie są faktycznie potrzebne, czyli zgodnie z zasadą najmniejszych uprawnień. Tutaj nie ma prawa wykonania, bo zwykły raport nie powinien być uruchamiany jak program czy skrypt.
To jest bardzo typowe ustawienie dla plików z danymi, raportów, konfiguracji albo dokumentów roboczych, które mają być dostępne dla zespołu tylko do odczytu. Moim zdaniem to jedno z tych poleceń, które naprawdę warto znać na pamięć, bo w administracji Linuksem pojawia się ciągle. Dobra praktyka mówi, żeby nadawać tylko takie uprawnienia, jakie są faktycznie potrzebne, czyli zgodnie z zasadą najmniejszych uprawnień. Tutaj nie ma prawa wykonania, bo zwykły raport nie powinien być uruchamiany jak program czy skrypt.
W poleceniu chmod 640 raport najważniejsze jest poprawne odczytanie każdej cyfry jako sumy bitów uprawnień. W Linuksie wartość 4 oznacza odczyt, 2 oznacza zapis, a 1 oznacza wykonanie. Te wartości dodaje się dla każdej z trzech grup: właściciela, grupy i pozostałych użytkowników. Dlatego 6 nie oznacza odczytu, zapisu i wykonania, tylko 4 + 2, czyli odczyt oraz zapis. Do wykonania musiałaby dojść jeszcze wartość 1, a wtedy byłoby 7. Częsty błąd polega właśnie na tym, że ktoś widzi większą cyfrę i automatycznie kojarzy ją z pełnymi prawami, a tak to nie działa.
Niepoprawne jest też przypisanie grupie prawa wykonania przy wartości 4. Grupa ma tutaj wyłącznie odczyt, bo 4 to samo r, bez w i bez x. Gdyby grupa miała odczyt oraz wykonanie, pojawiłaby się wartość 5, czyli 4 + 1. Z kolei właściciel nie ma samego wykonania, ponieważ pierwsza cyfra to 6, a nie 1. Przy zwykłym pliku prawo wykonania oznacza możliwość uruchomienia go jako programu lub skryptu, więc nie dodaje się go bez potrzeby. Z mojego doświadczenia najłatwiej zapamiętać schemat jako rwx = 4 2 1 i zawsze liczyć sumę, zamiast zgadywać z opisu. Dla chmod 640 wynik to rw-r-----: właściciel czyta i zapisuje, grupa tylko czyta, a pozostali nie robią nic z tym plikiem.
Niepoprawne jest też przypisanie grupie prawa wykonania przy wartości 4. Grupa ma tutaj wyłącznie odczyt, bo 4 to samo r, bez w i bez x. Gdyby grupa miała odczyt oraz wykonanie, pojawiłaby się wartość 5, czyli 4 + 1. Z kolei właściciel nie ma samego wykonania, ponieważ pierwsza cyfra to 6, a nie 1. Przy zwykłym pliku prawo wykonania oznacza możliwość uruchomienia go jako programu lub skryptu, więc nie dodaje się go bez potrzeby. Z mojego doświadczenia najłatwiej zapamiętać schemat jako rwx = 4 2 1 i zawsze liczyć sumę, zamiast zgadywać z opisu. Dla chmod 640 wynik to rw-r-----: właściciel czyta i zapisuje, grupa tylko czyta, a pozostali nie robią nic z tym plikiem.