![chmod не изменяет права доступа к определенным каталогам](https://rvso.com/image/52115/chmod%20%D0%BD%D0%B5%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0%20%D0%BA%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC.png)
Системный файл:ext4
Я изменил владельца файлов на apache:
с помощью команды:
chown -R apache: wp.localhost
Затем я не смог изменить права доступа к каталогам в wp.localhost, ни к самому wp.localhost.
Я использую команду, chmod +w wp.localhost
например, и не вижу никаких изменений прав доступа.
Я также снова изменил группу папок командой, но проблема не решилась.
chown -R apache:users wp.localhost
Команды и разрешения до и после:
#ls -ld wp.localhost
drwxr-xr-x 6 apache users 4096 Mar 28 15:26 wp.localhost/
# chmod +w wp.localhost
# ls -ld wp.localhost
drwxr-xr-x 6 apache users 4096 Mar 28 15:26 wp.localhost/
решение1
Если вы хотите предоставить глобальное разрешение на запись в этот каталог, вам нужно сделать следующее:
chmod a+w wp.localhost [1]
Это связано с тем, что пропуск буквы «кто затронут» ( u
, g
, o
или a
) подразумевает a
, но не установит биты, которые установлены в вашем текущем umask
. Так, например, если ваш umask
был 0022
, бит «запись» установлен в позициях «группа» и «другие», и chmod
будет игнорироваться, если вы не укажете это a
явно.
На странице руководства chmod
об этом сказано ясно:
Если ни одна из этих [букв «кто затронут»] не указана, эффект будет таким же, как если бы
a
они были указаны, но биты, установленные в umask, не будут затронуты.
[1] Подумайте хорошенько, прежде чем это сделать!