chmod

Chmod

Opis obrazu Chmod-GNU.png. Informacja
Pierwsza wersja 3 listopada 1971
Rodzaj Narzędzie UNIX ( d )

chmod (skrót ch ange mod e ) jest wywołanie systemowe z UNIX ( standardem POSIX ) oraz odpowiedniej komendy, aby zmienić uprawnienia o pliku lub katalogu .

Historia

To polecenie pojawiło się po raz pierwszy w AT&T UNIX w wersji 1.

Zezwolenie na zmianę praw

Użytkownik ma prawo do chmodowania pliku:

posługiwać się

Opcje przekazane do polecenia chmod są oznaczone następująco:

chmod options modes fichiers

W przypadku pliku: chmod [u g o a] [+ - =] [r w x] nom_du_fichier

Zawartość katalogu (rekurencyjnie): chmod -R [u g o a] [+ - =] [r w x] nom_du_répertoire

Opcje

chmodma wiele opcji, które mogą modyfikować wynik. Oto niektóre z tych opcji:

Tryby

Dla każdego podanego pliku uprawnienia dotyczą właściciela pliku (kod „u” jak użytkownik ), grupy użytkowników pliku ( grupa podobna do „g” ) lub innych użytkowników („o” jak inni ). Aby zastosować zmiany do wszystkich naraz, używamy kodu „a” jak wszystkie  :

Tryby można określić na dwa sposoby, za pomocą liter lub liczb ósemkowych . W przypadku listów istnieją operatory zmiany stanu +i -dodawania lub usuwania typu uprawnień do bieżących uprawnień oraz operator, =który je zastępuje. W przypadku ósemki musisz dodać liczby dla każdego typu właściciela.

Uprawnienia to (wartości ósemkowe w nawiasach):

Reprezentacja korespondencji dotyczącej praw
Prawo Wartość alfanumeryczna Wartość ósemkowa Wartość binarna
bez prawa --- 0 000
tylko wykonanie --x 1 001
tylko pisanie -w- 2 010
pisanie i występowanie -wx 3 011
tylko czytać r-- 4 100
przeczytaj i wykonaj r-x 5 101
czytanie i pisanie rw- 6 110
wszelkie prawa (odczyt, zapis i wykonywanie) rwx 7 111

Przykłady

Tryby specjalne

Istnieją trzy powszechnie używane tryby specjalne: bit lepki (oznaczony jako t) oraz bity SETUID i SETGID (oznaczony jako s).

Inne chmod

Funkcja C

chmod

chmod istnieje w C standardowej biblioteki . Pełni tę samą funkcję co polecenie Unix.

int chmod(const char *path, int amode) ;

Lub:

  • path to nazwa pliku do modyfikacji.
  • amode to nowy atrybut do umieszczenia w pliku.
  • chmod zwraca wartość 0 (operacja pomyślna) lub -1 (błąd).
fchmod int fchmod(int descripteur du fichier, mode_t mode)

Różnica między chmod i fchmod polega na tym, że chmod przyjmuje ścieżkę do pliku jako argument (który jest czytelny dla człowieka, na przykład: /tmp/toto.txt ), podczas gdy fchmod przyjmuje deskryptor pliku jako argument.

Funkcja Perla

chmod istnieje w bibliotekach Perla, aby zmienić uprawnienia listy plików. Drugi parametr musi być wartością ósemkową. Funkcja zwraca liczbę pomyślnie przypisanych plików.

$cnt = chmod 0644, 'fichier1', 'fichier2'; $cnt = chmod 0644, @liste;

Funkcja PHP

chmod istnieje w standardowej bibliotece PHP . Pełni tę samą funkcję, co polecenie systemu Unix i te same parametry, co funkcja C.

Cacls i atrybuty Microsoftu

W MS-DOS i Windows narzędzie attribumożliwia zmianę niektórych atrybutów (odczyt, zapis, ukrywanie, system) plików, które nie są powiązane z właścicielem.

Pod Windows NT , caclsjest bardziej kompletna linia poleceń narzędzie równoważne chmodi chown .

Uwagi i odniesienia

  1. (in) "  Biblioteka interfejsu POSIX: liboskit_posix.a  " .

Zobacz też

Linki zewnętrzne