Chociaż istnieje już wiele dobrych zabezpieczeń wbudowanych w systemy oparte na Linuksie, może istnieć jedna bardzo ważna potencjalna luka w dostępie lokalnym – to są problemy z uprawnieniami do plików wynikające z tego, że użytkownik nie przydziela poprawnych uprawnień do plików i katalogów. W związku z potrzebą odpowiednich uprawnień, omówię sposoby przypisywania uprawnień i pokażę kilka przykładów, w których konieczna może być modyfikacja.,
podstawowe uprawnienia do plików
grupy uprawnień
każdy plik i katalog ma trzy grupy uprawnień użytkownika:
- owner – uprawnienia właściciela dotyczą tylko właściciela pliku lub katalogu, nie będą miały wpływu na działania innych użytkowników.
- group – uprawnienia grupy dotyczą tylko grupy, która została przypisana do pliku lub katalogu, nie będą wpływać na działania innych użytkowników.
- wszyscy użytkownicy – uprawnienia wszystkich użytkowników dotyczą wszystkich innych użytkowników w systemie, jest to grupa uprawnień, którą chcesz oglądać najbardziej.,
typy uprawnień
każdy plik lub katalog ma trzy podstawowe typy uprawnień:
- read – uprawnienia do odczytu odnoszą się do możliwości odczytu zawartości pliku przez użytkownika.
- write-uprawnienia do zapisu odnoszą się do możliwości zapisu lub modyfikacji pliku lub katalogu przez użytkownika.
- execute – uprawnienia Execute wpływają na zdolność Użytkownika do wykonania pliku lub przeglądania zawartości katalogu.,
przeglądanie uprawnień
możesz wyświetlić uprawnienia, sprawdzając uprawnienia do plików lub katalogów w swoim ulubionym menedżerze plików GUI (którego nie będę tutaj omawiał) lub przeglądając wyjście polecenia „ls-l” podczas pracy w terminalu i podczas pracy w katalogu, który zawiera plik lub folder.
uprawnienia w wierszu poleceń są wyświetlane jako: _rwxrwxrwxrwx 1 właściciel: group
- prawa / uprawnienia użytkownika
- pierwszy znak, który zaznaczyłem podkreśleniem, to specjalna flaga uprawnień, która może się różnić.,
- poniższy zestaw trzech znaków (rwx)jest przeznaczony dla uprawnień właściciela.
- drugi zestaw trzech znaków (rwx) jest dla uprawnień grupy.
- trzeci zestaw trzech znaków (rwx) jest przeznaczony dla wszystkich uprawnień użytkowników.
- Po tym grupowaniu, ponieważ liczba całkowita / liczba wyświetla liczbę twardych linków do pliku.
- ostatnim elementem jest przypisanie właściciela i grupy sformatowane jako Owner: Group.
modyfikowanie uprawnień
Gdy w wierszu poleceń uprawnienia są edytowane za pomocą polecenia chmod., Uprawnienia można przypisać jawnie lub za pomocą binarnego odniesienia, jak opisano poniżej.
jawne Definiowanie uprawnień
aby zdefiniować uprawnienia, musisz odwołać się do grupy uprawnień i typów uprawnień.
używane grupy uprawnień to:
potencjalnymi operatorami przypisań są + (plus) i – (minus); są one używane, aby powiedzieć systemowi, czy dodać lub usunąć określone uprawnienia.,
używane typy uprawnień to:
- r – Read
- w – Write
- x – Execute
tak więc dla przykładu, powiedzmy, że mam plik o nazwie file1, który obecnie ma uprawnienia ustawione na _rw_rw_rw, co oznacza, że właściciel, Grupa I wszyscy użytkownicy mają uprawnienia do odczytu i zapisu. Teraz chcemy usunąć uprawnienia do odczytu i zapisu z grupy wszyscy użytkownicy.,
aby dokonać tej modyfikacji należy wywołać polecenie: chmod a-RW file1
Aby dodać uprawnienia powyżej należy wywołać polecenie: chmod a+RW file1
jak widać, jeśli chcesz nadać te uprawnienia należy zmienić znak minus na plus, aby dodać te uprawnienia.
Korzystanie z binarnych odniesień do ustawiania uprawnień
teraz, gdy rozumiesz grupy uprawnień i typy, to powinno być naturalne. Aby ustawić uprawnienia za pomocą odniesień binarnych, musisz najpierw zrozumieć, że wejście odbywa się przez wprowadzenie trzech liczb całkowitych/liczb.,
przykładowym ciągiem uprawnień będzie chmod 640 file1, co oznacza, że właściciel ma uprawnienia do odczytu i zapisu, grupa ma uprawnienia do odczytu, a wszyscy inni użytkownicy nie mają praw do pliku.
pierwsza liczba oznacza uprawnienia właściciela, druga-uprawnienia grupy, a ostatnia-uprawnienia wszystkich innych użytkowników. Liczby są binarną reprezentacją ciągu rwx.
- r = 4
- w = 2
- x = 1
dodajesz liczby, aby uzyskać liczbę całkowitą/reprezentującą uprawnienia, które chcesz ustawić., Musisz załączyć binarne uprawnienia dla każdej z trzech grup uprawnień.
aby ustawić plik na uprawnienia na pliku1 do odczytu _rwxr_____, należy wpisać chmod 740 pliku1.
właściciele i grupy
zrobiłem kilka odniesień do właścicieli i grup powyżej, ale nie powiedziałem jeszcze, Jak przypisać lub zmienić właściciela i Grupę przypisaną do pliku lub katalogu.,
używasz polecenia chown do zmiany właściciela i przypisania grupy, składnia jest simplechown owner: group filename, więc aby zmienić właściciela file1 na user1, A grupę na family, wpisujesz chown user1: family file1.
zaawansowane uprawnienia
znacznik special permissions może być oznaczony dowolną z następujących opcji:
- _ – brak specjalnych uprawnień
- d – katalog
- l– plik lub katalog jest dowiązaniem symbolicznym
- s – wskazuje uprawnienia setuid / setgid., Ta opcja nie jest ustawiona w specjalnej części uprawnień na wyświetlaczu uprawnienia, ale jest reprezentowana jako s W odczytywanej części uprawnień właściciela lub grupy.
- t-wskazuje uprawnienia sticky bit. Nie jest to ustawione wyświetlane w specjalnej części uprawnień na wyświetlaczu uprawnień, ale jest reprezentowane jako t w części wykonywalnej uprawnień wszystkich użytkowników
Setuid/setgid specjalne uprawnienia
uprawnienia setuid/setguid są używane do informowania systemu o uruchomieniu pliku wykonywalnego jako właściciel z uprawnieniami właściciela.,
bądź ostrożny używając bitów setuid/setgid w uprawnieniach. Jeśli niepoprawnie przypisujesz uprawnienia do pliku należącego do roota z ustawionym bitem setuid/setgid, możesz otworzyć system na włamanie.
bit setuid / setgid można przypisać tylko poprzez jawne zdefiniowanie uprawnień. Znak dla bitu setuid / setguid to s.
więc ustaw bit setuid/setguid na file2.sh wydasz komendę chmod g + s file2.sh.,
Sticky Bit Special Permissions
sticky bit może być bardzo przydatny w środowisku współdzielonym, ponieważ gdy został przypisany do uprawnień w katalogu, ustawia go tak, aby TYLKO właściciel pliku mógł zmienić nazwę lub usunąć wspomniany plik.
możesz przypisać bit lepki tylko przez jawne zdefiniowanie uprawnień. Znak dla bitu sticky to t.
aby ustawić bit sticky w katalogu o nazwie dir1, wydasz komendę chmod +t dir1.,
Kiedy uprawnienia są ważne
dla niektórych użytkowników komputerów Mac lub Windows nie myślisz o uprawnieniach, ale środowiska te nie koncentrują się tak agresywnie na prawach użytkownika do plików, chyba że jesteś w środowisku korporacyjnym. Ale teraz używasz systemu opartego na Linuksie, a zabezpieczenia oparte na uprawnieniach są uproszczone i można je łatwo wykorzystać do ograniczenia dostępu, jak chcesz.
więc pokażę Ci kilka dokumentów i folderów, na których chcesz się skupić i pokażę, jak należy ustawić optymalne uprawnienia.,
- katalogi domowe– katalogi domowe użytkowników są ważne, ponieważ nie chcesz, aby inni użytkownicy mogli przeglądać i modyfikować pliki w dokumentach innego użytkownika na pulpicie. Aby temu zaradzić, będziesz chciał, aby Katalog miał uprawnienia drwx_ _ _ _ _ _ (700), więc powiedzmy, że chcemy wymusić poprawne uprawnienia do katalogu domowego użytkownika user1, które można wykonać, wydając polecenie chmod 700 /home/user1.,
- pliki konfiguracyjne bootloadera – jeśli zdecydujesz się wdrożyć hasło do rozruchu konkretnych systemów operacyjnych, będziesz chciał usunąć uprawnienia do odczytu i zapisu z pliku konfiguracyjnego od wszystkich użytkowników oprócz roota. Aby to zrobić, możesz zmienić uprawnienia pliku na 700.
- pliki konfiguracyjne systemu i demona – bardzo ważne jest, aby ograniczyć prawa do plików konfiguracyjnych systemu i demona aby ograniczyć użytkownikom możliwość edycji zawartości, może nie być wskazane ograniczenie uprawnień do odczytu, ale ograniczenie uprawnień do zapisu jest konieczne., W takich przypadkach najlepiej zmodyfikować prawa do 644.
- Skrypty zapory sieciowej – nie zawsze jest konieczne blokowanie wszystkich użytkowników przed odczytywaniem pliku zapory sieciowej, ale zaleca się ograniczenie użytkowników przed zapisem do pliku. W tym przypadku skrypt zapory jest uruchamiany przez użytkownika root automatycznie podczas rozruchu, więc wszyscy inni użytkownicy nie potrzebują żadnych praw, więc możesz przypisać uprawnienia 700.