Istnieją 3 specjalne uprawnienia, które są dostępne dla plików wykonywalnych i katalogów. Są to :

1. Uprawnienie SUID
2. Uprawnienie SGID
3. Lepki bit

Set-user Identification (SUID)

Czy kiedykolwiek zastanawiałeś się, jak użytkownik nie-root może zmienić swoje własne hasło, gdy nie ma prawa zapisu do pliku /etc/shadow. hmmm… ciekawe czyż nie? Cóż, aby zrozumieć ten trik sprawdź uprawnienia polecenia /usr/bin/passwd :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Jeśli sprawdzisz dokładnie, znajdziesz 2 S w polu uprawnień. Pierwsze s oznacza SUID, a drugie SGID.
– Kiedy polecenie lub skrypt z ustawionym bitem SUID jest uruchamiany, jego efektywny UID staje się tym właściciela pliku, a nie użytkownika, który go uruchamia.
– Innym dobrym przykładem SUID jest polecenie su :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– Uprawnienie setuid wyświetlane jako „s” w polu execute właściciela.

Jak ustawić SUID na pliku?

# chmod 4555 

Uwaga :
Jeśli duża litera „S” pojawia się w polu execute właściciela, oznacza to, że bit setuid jest włączony, a bit execute „x” dla właściciela pliku jest wyłączony lub odmówiony.

Set-group identification (SGID)

SGID permission on executable file

– SGID permission jest podobne do SUID permission, jedyną różnicą jest – kiedy skrypt lub polecenie z włączonym SGID jest uruchamiane, działa tak, jakby było członkiem tej samej grupy, w której plik jest członkiem.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– The setgid permission displays as an „s” in the group’s execute field.

Uwaga :
– Jeśli mała litera „l” pojawia się w polu execute grupy, oznacza to, że bit setgid jest włączony, a bit execute dla grupy jest wyłączony lub odmówiony.

Jak ustawić GUID na pliku?

# chmod 2555 

SGID na katalogu

– Gdy uprawnienie SGID jest ustawione na katalogu, pliki utworzone w katalogu należą do grupy, której katalog jest członkiem.
– Na przykład, jeśli użytkownik mający uprawnienia do zapisu w katalogu tworzy tam plik, ten plik jest członkiem tej samej grupy co katalog, a nie grupy użytkownika.
– Jest to bardzo przydatne przy tworzeniu współdzielonych katalogów.

Jak ustawić SGID na katalogu

# chmod g+s 

Sticky Bit

– Lepki bit jest używany głównie na współdzielonych katalogach.
– Jest on użyteczny dla współdzielonych katalogów takich jak /var/tmp i /tmp, ponieważ użytkownicy mogą tworzyć pliki, czytać i wykonywać pliki należące do innych użytkowników, ale nie mogą usuwać plików należących do innych użytkowników.
– Na przykład, jeśli użytkownik bob tworzy plik o nazwie /tmp/bob, inny użytkownik tom nie może usunąć tego pliku, nawet jeśli katalog /tmp ma uprawnienia 777. Jeśli sticky bit nie jest ustawiony, to tom może usunąć /tmp/bob, ponieważ plik /tmp/bob dziedziczy uprawnienia katalogu nadrzędnego.
– użytkownik root (oczywiście!) i właściciel plików może usuwać własne pliki.

Przykład sticky bit :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

Jak ustawić uprawnienia sticky bit?

# chmod +t or # chmod 1777 

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.