Miałem plik z 644 ( -rw-r--r--
) i chciałem go zmienić na 664 ( -rw-rw-r--
) po uruchomieniu:
sudo chmod -664 my_file
uprawnienia do plików zostały ustawione na 000 ( ----------
).
Próba zmiany uprawnień na coś innego niż 000 wydaje się nie działać. Czego tu brakuje?
command-line
permissions
chmod
illgoforit
źródło
źródło
-
przed 644? Spróbowaćsudo chmod 644 my_file
.-644
usunie prawa.Odpowiedzi:
Używasz
-664
, po prostu użyj664
zamiast tego. I nigdy nie używaj,sudo
kiedy nie musisz. Jeśli to twój plik, nie potrzebujeszsudo
:Po uruchomieniu
chmod
z-
przed trybie, można usunąć ten tryb. Zobaczman chmod
(moje podkreślenie):Liczby to:
Tak więc plik z
777
uprawnieniami oznacza, że każdy ma prawo zrobić wszystkie trzy, ponieważ 1 + 2 + 4 = 7, a zatem ustawienie uprawnień na 7 oznacza umożliwienie odczytu, zapisu i wykonania.Jeśli zaczynasz od pliku, którego tryb to
777
:A teraz uruchom
chmod -644
, usuniesz bity644
i skończysz na pliku, którego tryb to133
:Wynika to z faktu, że usunąłeś 6 (odczyt (4) + zapis (2)) z uprawnień właściciela, pozostawiając tylko 1 (wykonanie) i 4 (odczyt) z grupy oraz innych uprawnień. Rezultatem jest plik z uprawnieniami tylko do wykonania (1) dla właściciela oraz do zapisu i wykonania (cofniesz ustawienie 4, pozostawiając 1 i 3) dla reszty.
Ponieważ plik prawdopodobnie miał domyślne uprawnienia do nowych plików, więc
644
po uruchomieniuchmod -644 my_file
usunąłeś wszystkie ustawione bity uprawnień i otrzymałeś plik bez uprawnień dla nikogo.źródło