Niektóre grupy umożliwiają dostęp do plików lub katalogów, na przykład: www-data
umożliwiają dostęp do plików internetowych lub adm
grupy do odczytu plików /var/log
. To jest trywialne zastosowanie.
Ale niektóre grupy umożliwiają dostęp do niektórych urządzeń. Na przykład dialout
grupa umożliwia dostęp do portów szeregowych za pośrednictwem plików w /dev
:
$ find /dev -group dialout -exec ls -ld {} \;
crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1
Więc jeśli jesteś członkiem dialout
grupy można korzystać z portów szeregowych przez czytanie i pisanie do pliku urządzenia: echo "Hello world" > /dev/ttyS0
. video
Grupa umożliwia dostęp do sprzętu wideo.
Aby zapoznać się z opisem każdej grupy, przeczytaj plik: /usr/share/doc/base-passwd/users-and-groups.html
EDYCJA dotycząca pierwszego komentarza:
W rzeczywistości zazwyczaj nie trzeba być w tych grupach, aby „uzyskać dostęp” do zasobów sprzętowych z punktu widzenia użytkownika. Powszechną praktyką jest zarządzanie demonem / serwerem, który należy do najbardziej restrykcyjnej grupy, a następnie umożliwia dostęp do demona / serwera.
W twoim przypadku bycie członkiem video
grupy pozwala na bezpośredni dostęp do sprzętu graficznego, a nie przez serwer X. Zwykle na komputerze stacjonarnym / laptopie miło jest mieć bezpośredni dostęp do sprzętu graficznego ( glxinfo | grep "direct rendering"
).
Na marginesie, jeśli masz bezpośrednie renderowanie, ale nie jesteś członkiem video
grupy ( id | grep --color video
), dostęp do sprzętu uzyskał acl /dev
pliku ( find /dev/ -group video -exec getfacl {} \; | grep $USERNAME
).
sudo apt-get install acl
uruchomić to drugie polecenie (getfacl). Dziękuję za wyjaśnienie.Ogólnie pojęcie podziału grupowego odnosi się do tego:
http://en.wikipedia.org/wiki/Principle_of_least_privilege
Głupotą wydaje się mieć wszystkie te grupy, dopóki nie uświadomisz sobie, że alternatywą byłby jeden wspólny poziom wysokiego przywileju (np. Sudo / root), który byłby koszmarem bezpieczeństwa.
Większość grup pokazanych w twoim poście istnieje, aby różne elementy systemu operacyjnego mogły uzyskać dostęp do wspólnej funkcjonalności przy najmniejszej liczbie uprawnień. Użytkownik nie powinien się tym zbytnio przejmować. Podczas niektórych zadań administracyjnych może być konieczne zwiększenie uprawnień, aby uzyskać dostęp do niektórych funkcji, i zwykle odbywa się to za pomocą sudo w przypadku krótkich zadań jednorazowych i poprzez dodanie się do określonej grupy w celu wykonania powtarzalnych zadań.
źródło