Jaka jest pierwsza cyfra ósemkowa chmod w czterocyfrowej wartości?
40
Czasami widzę chmodpolecenia, które używają czterech cyfr ósemkowych zamiast trzech - po co jest opcjonalna pierwsza cyfra? Na przykład chmod 777jest równoważne z chmod a+rwx; po co jest to samo polecenie chmod 2777?
To dobre pytanie, więc starałem się je trochę uogólnić
Michał Mrożek
3
„Czwarta cyfra ósemkowa chmod” jest nieco myląca, cyfra, o której mowa, jest tak naprawdę pierwsza podczas czytania od lewej do prawej.
jsbillings
Odpowiedzi:
44
Pamiętaj, że chmod 777 filenamejest to odpowiednik chmod 0777 filenamew tym przykładzie.
Pierwsza cyfra ósemkowa ustawia setuid, setgid i lepkie bity ( więcej informacji na temat setuid / setgid znajduje się w tym artykule ). octal 2 oznacza ustawienie identyfikatora grupy w pliku. Odpowiednikiem byłoby więc zrobienie chmod a+rwx filenamea chmod g+s filename. Strona chmodinformacyjna wyjaśnia to bardziej szczegółowo.
Prawie wszystkie implementacje chmod (1) mogą używać przecinków w argumentach trybu symbolicznego. Tak więc, twój odpowiednik 2777 może być wykonane w jednym poleceniem: chmod a+rwx,g+s filename. Lub, ściślej (pamiętając, aby wyczyścić setuid i lepkie kawałki jak gdyby tworzyły trybie numerycznym) chmod a=rwx,g+s filename.
Odpowiedzi:
Pamiętaj, że
chmod 777 filename
jest to odpowiednikchmod 0777 filename
w tym przykładzie.Pierwsza cyfra ósemkowa ustawia setuid, setgid i lepkie bity ( więcej informacji na temat setuid / setgid znajduje się w tym artykule ). octal 2 oznacza ustawienie identyfikatora grupy w pliku. Odpowiednikiem byłoby więc zrobienie
chmod a+rwx filename
achmod g+s filename
. Stronachmod
informacyjna wyjaśnia to bardziej szczegółowo.źródło
chmod a+rwx,g+s filename
. Lub, ściślej (pamiętając, aby wyczyścić setuid i lepkie kawałki jak gdyby tworzyły trybie numerycznym)chmod a=rwx,g+s filename
.