Я начинаю с chmod. Я создал группу и дал им разрешение (777), и каждый пользователь внутри группы может делать все, что они хотят, в каталоге / www /.
Однако мне нужно изменить разрешения кому-либо еще. Я записал:
$ chmod -R o-rwx /www/ && chmod -R o+rw /www/some_interesting_dir
Потому что я хотел только разрешить ему доступ к этому каталогу. Но он не может выполнить "cd / www / some_interesting_dir", консоль сообщает, что в разрешении отказано.
Что я делаю не так?
Большое спасибо!
Вместо того o+rw
вы должны использовать o+rwX
который также применит бит разрешения на выполнение ко всем каталогам в структуре, позволяя пользователям фактически получить к ним доступ. (Бит выполнения требуется для cd
в или читать файлы из каталога или любого подкаталога.)
Пользователь должен иметь доступ на выполнение к каталогу, через который он проходит, в результате, хотя он может видеть, что находится в / www /, он по-прежнему не может ничего сделать ни с одним из файлов там (поскольку у них есть собственные разрешения)
Просто chmod o+x www
В каталогах исполняемый бит позволяет просматривать содержимое каталога. Вам нужно добавить 'o + x' для каталогов:
find -type d -exec chmod o+x "{}" \;
Предоставление другим пользователям +rw
разрешение, кажется, разрушает цель; вы даете всем права на запись для всего в каталоге.