Применить разрешение на полную запись по умолчанию при создании новой папки

1

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

У нас есть Federoa с запущенным сервером Xammp и общая папка проекта для локальной сети для создания папок проекта для разработки проекта. Все хорошо, кроме одного: когда мы создаем новую папку в сети, она не имеет полных прав, но "Drwxr-хт-х" и из-за этого наша программа 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 :: r-x" и "other :: r-x" ... ниже 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" ?

UMI
источник

Ответы:

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 / доступен для записи для ваших пользователей.

TheAmigo
источник
Наша задача не в том, чтобы создавать каталоги с помощью строки commend, мы знаем, что мы можем изменить разрешения с помощью команды CHMOD ... в то время как нам нужно установить это для, когда мы создаем папку в сети с помощью платформы Windows ... как описано: мы имеем папка "projects", совместно используемая в Linux, и в Windows мы создаем папку в папке проектов, и здесь новая созданная папка должна иметь полное разрешение. Я попытался установить Umask 000, но это также не сработало. Любое предложение?
UMI
@ UMI Я понимаю, что chmod недостаточно, и поэтому я не предложил этого. Вы пробовали команду setfacl?
TheAmigo
Вы имеете в виду, что если я запускаю команду "setfacl -d -m u :: rwx, g :: rwx, o :: rwx / projects", то создание новых каталогов будет иметь полные права доступа? Я тебе да скажу тогда попробую сейчас .. жду твоего ответа
UMI
Да, -d устанавливает это как разрешения по умолчанию для новых записей в этом каталоге.
TheAmigo
Спасибо за ваш ответ, и у меня есть сильное чувство, что он может решить проблему, но теперь после теста у меня осталась небольшая проблема, что эта команда устанавливает права "drwxr-xr-x +", в то время как мне нужен "drwxrwxrwx". Можете ли вы изменить свою командную строку, чтобы я получил необходимые права, пожалуйста?
UMI
0

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

install -d -m 0777 /new/dir/

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

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


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

jimm-cl
источник
Наша задача не в том, чтобы создавать каталоги с помощью строки commend, мы знаем, что мы можем изменить разрешения с помощью команды CHMOD ... в то время как нам нужно установить это для, когда мы создаем папку в сети с помощью платформы Windows ... как описано: мы имеем папка "projects", совместно используемая в Linux, и в Windows мы создаем папку в папке проектов, и здесь новая созданная папка должна иметь полное разрешение. Я попытался установить Umask 000, но это также не сработало. Любое предложение?
UMI
о, это не в описании вашей проблемы. Можете ли вы предоставить подробную информацию о том, как каталоги были переданы в первую очередь? Отредактируйте ваш вопрос с этими подробностями, пожалуйста ... "У нас есть Fedora с запущенным сервером Xammp и общим каталогом проекта для локальной сети для создания папок проекта для разработки проекта", это немного расплывчато, учитывая ваш предыдущий комментарий. Давайте посмотрим, сможем ли мы придумать что-нибудь после получения более подробной информации :)
jimm-cl
Пожалуйста, проверьте первый комментарий к вашему ответу, в котором разработан сценарий.
UMI
Я обновил свой вопрос ... дайте мне знать, если вам нужно что-нибудь еще.
UMI
Я обновил свой ответ, надеюсь, это поможет :)
jimm-cl