1

Мы сталкиваемся с проблемами разрешений. сценарий

У нас есть Federoa с запущенным сервером Xammp и общая директория проекта для локальной сети для создания папок проекта для разработки проекта. Все хорошо, за исключением одного: когда мы создаем новую папку в сети, она не имеет полных прав, но «drwxr-xr-x», и поэтому наша программа PHP не может загружать файлы. Все дело в недостаточных правах доступа.

До этой установки Fedora предыдущая работала отлично. То, что мы смогли создать папки, которые по умолчанию имели полные права на все действия.

Команды и результаты:

[root@umi]# setfacl -R -d -m g::rwx -m u::rwx -m o::rwx ajax_upload
[root@umi]# getfacl ajax_upload
# file: ajax_upload
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx



Затем я создал каталог внутри каталога ajax_upload на платформе Windows на сетевом ресурсе с именем "test2"

[root@umi]# getfacl ajax_upload/test2
# file: ajax_upload/test2
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::rwx



Вы видите "group:: rx" и "other:: rx" ... ниже ls -ld результаты

[root@umi]# ls -ld ajax_upload/test2
drwxr-xr-x+ 2 root root 4096 2014-06-27 11:29 ajax_upload/test2



Кто-нибудь может подсказать, что мы делаем, когда мы создаем новую папку, она должна иметь полные права, такие как "drwxrwxrwx"?

2 ответа2

0

Вместо использования mkdir (я полагаю, это то, что вы используете сейчас), попробуйте использовать:

install -d -m 0777 /new/dir/

Это создаст новый каталог с именем /new/dir/ с полными разрешениями (например, chmod 777).

Другое решение заключается в использовании правильных значений umask для пользователя, создающего каталоги. Пожалуйста, просмотрите эту тему для получения дополнительной информации и примера.


Прочитав ваши комментарии, я почти уверен, что проблема связана с вашими текущими значениями для umask . Пожалуйста, прочитайте следующие темы, чтобы убедиться, что у вас есть правильные настройки - если нет, внесите некоторые изменения и попробуйте снова:

0

Если вы монтируете свою файловую систему с поддержкой acl (т.е. /etc /fstab имеет acl в поле options [4th] для этой файловой системы), вы можете использовать команду setfacl чтобы установить разрешения по умолчанию для вновь создаваемых файлов и каталогов:

setfacl -d -m u::rwx,g::rwx,o::rwx /target/directory

Теперь, когда любой пользователь создает каталоги внутри /target/directory/ , эти новые каталоги будут создаваться с разрешениями «drwxrwxrwx +». + Означает, что acls присутствуют и могут быть показаны с помощью getfacl .

Конечно, вы захотите убедиться, что каталог /target / доступен для записи для ваших пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .