Kurs Linux Polecenia - lekcja 11 - Przekierowania i potoki
Spisu treści:
W systemach operacyjnych Linux i Unix wszystkie nowe pliki są tworzone z domyślnym zestawem uprawnień. Narzędzie
umask
umożliwia przeglądanie lub ustawianie maski tworzenia trybu plików, która określa bity uprawnień dla nowo tworzonych plików lub katalogów.
Używają go mkdir, touch, tee i inne polecenia tworzące nowe pliki i katalogi.
Uprawnienia do systemu Linux
Zanim przejdziemy dalej, wyjaśnijmy krótko model uprawnień systemu Linux.
W systemie Linux każdy plik jest powiązany z właścicielem i grupą i przypisany do niego uprawnienia dostępu dla trzech różnych klas użytkowników:
- właściciel pliku. członkowie grupy. wszyscy inni.
Istnieją trzy typy uprawnień, które dotyczą każdej klasy:
- uprawnienia do odczytu. uprawnienia do zapisu. uprawnienia do wykonywania.
Ta koncepcja pozwala określić, którzy użytkownicy mogą czytać plik, zapisywać do pliku lub uruchamiać plik.
Aby wyświetlić uprawnienia do plików, użyj polecenia
ls
:
ls -l dirname
drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type
Pierwszy znak reprezentuje typ pliku, którym może być zwykły plik (
-
), katalog (
d
), symboliczny link (
l
) lub dowolny inny specjalny typ pliku.
Następne dziewięć znaków reprezentuje uprawnienia, trzy zestawy po trzy znaki każdy. Pierwsze zestawy pokazują uprawnienia właściciela, drugie uprawnienia grupy, a ostatni zestaw pokazuje uprawnienia wszystkich pozostałych.
Znak
r
o wartości ósemkowej
4
oznacza odczyt,
w
o wartości ósemkowej
2
dla zapisu,
x
o wartości ósemkowej
1
dla zezwolenia na wykonanie i (
-
) o wartości ósemkowej
0
dla braku uprawnień.
Istnieją również trzy inne specjalne typy uprawnień do plików:
setuid
,
setgid
i
Sticky Bit
.
W powyższym przykładzie (
rwxr-xr-x
) oznacza, że właściciel ma uprawnienia do odczytu, zapisu i wykonywania (
rwx
), grupa i inni mają uprawnienia do odczytu i wykonywania.
Jeśli reprezentujemy uprawnienia do pliku za pomocą notacji numerycznej, dojdziemy do liczby
755
:
- Właściciel:
rwx=4+2+1 = 7Grupa:rx=4+0+1 = 5Inne:rx=4+0+1 = 5
W przypadku reprezentacji w notacji numerycznej uprawnienia mogą mieć trzy lub cztery cyfry ósemkowe (0–7). Pierwsza cyfra reprezentuje specjalne uprawnienia, a jeśli zostanie pominięte, oznacza to, że dla pliku nie są ustawione żadne specjalne uprawnienia. W naszym przypadku
755
jest taki sam jak
0755
. Pierwsza cyfra może być kombinacją
4
dla
setuid
,
2
dla
setgid
i
1
dla
Sticky Bit
.
Uprawnienia do plików można zmienić za pomocą polecenia
chmod
a prawa własności za pomocą
chown
.
Zrozumienie umask
Domyślnie w systemach Linux domyślne uprawnienia do tworzenia wynoszą
666
dla plików, co daje uprawnienia do odczytu i zapisu dla użytkownika, grupy i innych oraz
777
dla katalogów, co oznacza uprawnienia do odczytu, zapisu i wykonywania dla użytkownika, grupy i inni Linux nie pozwala na tworzenie pliku z uprawnieniami do wykonywania.
Domyślne uprawnienia do tworzenia można modyfikować za pomocą narzędzia
umask
.
umask
wpływa tylko na bieżące środowisko powłoki. W większości dystrybucji Linuksa domyślna wartość systemowa umask jest ustawiona w
pam_umask.so
lub
/etc/profile
.
Aby wyświetlić bieżącą wartość maski, po prostu wpisz
umask
bez żadnych argumentów:
umask
Dane wyjściowe będą zawierać
022
Wartość
umask
zawiera bity uprawnień, które NIE zostaną ustawione dla nowo tworzonych plików i katalogów.
Jak już wspomniano, domyślne uprawnienia do tworzenia plików to
666
a dla katalogów
777
. Aby obliczyć bity uprawnień nowych plików, odejmij wartość umask od wartości domyślnej.
Na przykład, aby obliczyć wpływ
uname 022
na nowo utworzone pliki i katalogi, użyj:
- Pliki:
666 - 022 = 644. Właściciel może czytać i modyfikować pliki. Grupa i inni mogą odczytywać tylko pliki. Katalogi:777 - 022 = 755Właściciel może cd do katalogu i czytać, modyfikować, tworzyć lub usuwać pliki w katalogu. Grupa i inni mogącddo katalogu i listy oraz odczytać pliki.
Można również wyświetlić wartość maski w notacji symbolicznej za pomocą opcji
-S
:
umask -S
u=rwx, g=rx, o=rx
W przeciwieństwie do notacji numerycznej, wartość notacji symbolicznej zawiera bity uprawnień, które zostaną ustawione w nowo utworzonych plikach i katalogach.
Ustawienie wartości maski
Maskę tworzenia pliku można ustawić za pomocą notacji ósemkowej lub symbolicznej. Aby wprowadzić zmiany na stałe, ustaw nową wartość
umask
w globalnym pliku konfiguracyjnym, takim jak
/etc/profile
, który wpłynie na wszystkich użytkowników lub w plikach konfiguracyjnych powłoki użytkownika, takich jak
~/.profile
,
~/.bashrc
lub
~/.zshrc
które wpłynie tylko na użytkownika. Pliki użytkownika mają pierwszeństwo przed plikami globalnymi.
Przed wprowadzeniem zmian w wartości
umask
upewnij się, że nowa wartość nie stanowi potencjalnego zagrożenia bezpieczeństwa. Wartości mniej restrykcyjne niż
022
należy stosować z dużą ostrożnością. Na przykład
umask 000
oznacza, że każdy będzie miał uprawnienia do odczytu, zapisu i wykonywania dla wszystkich nowo utworzonych plików.
Powiedzmy, że chcemy ustawić bardziej restrykcyjne uprawnienia dla nowo tworzonych plików i katalogów, aby inni nie mogli
cd
się do katalogów i czytać plików. Potrzebne nam uprawnienia to
750
dla katalogów i
640
dla plików.
Aby obliczyć wartość
umask
po prostu odejmij wymagane uprawnienia od domyślnego:
Wartość umask:
777-750 = 027
Pożądana wartość
umask
reprezentowana w notacji numerycznej to
027
.
Aby trwale ustawić nową wartość w całym systemie, otwórz
/etc/profile
w edytorze tekstu:
sudo nano /etc/profile
i zmień lub dodaj następujący wiersz na początku pliku:
/ etc / profile
umask 027
Aby zmiany odniosły skutek, uruchom następujące polecenie
source
lub wyloguj się i zaloguj:
source /etc/profile
Aby zweryfikować nowe ustawienia, utworzymy jeden nowy plik i katalog za pomocą
mkdir
i
touch
:
mkdir newdir
touch newfile
drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile
Innym sposobem ustawienia maski tworzenia pliku jest użycie zapisu symbolicznego. Na przykład
umask u=rwx, g=rx, o=
jest taki sam jak
umask 027
.
Wniosek
W tym przewodniku wyjaśniliśmy uprawnienia systemu Linux i jak używać polecenia
umask
do ustawiania bitów uprawnień dla nowo tworzonych plików lub katalogów.
Aby uzyskać więcej informacji, wpisz
man umask
w swoim terminalu.
Polecenie CP w systemie Linux (kopiowanie plików)
cp to narzędzie wiersza polecenia do kopiowania plików i katalogów w systemach Unix i Linux.
Polecenie różnicowe w systemie Linux
diff to narzędzie wiersza polecenia, które pozwala porównać dwa pliki linia po linii. Może także porównywać zawartość katalogów.
Polecenie Pwd w systemie Linux (bieżący katalog roboczy)
Bieżący katalog roboczy to katalog, w którym aktualnie pracuje użytkownik. W tym artykule pokażemy, jak określić bieżący katalog roboczy za pomocą polecenia pwd







