Другим способом поставить пользователь апачского и «пользователь клиента» в новой группе. Дополнительно каталог должен использовать липкий бит SGID
, чтобы каждый новый файл получил групповое присвоение этой новой группе. Таким образом, веб-сервер и «пользователи клиент» может работать с файлами без каких-либо проблем
[17:57] [email protected] /tmp/test $ ls -al /tmp/test
total 9
drwxrwsr-x 2 root users 48 Apr 1 17:55 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
Как вы видите каталог получил немного палку SGID
и владельцем является «пользователи» группа, в которой я (progman
) есть. Нет, если другой пользователь добавляет файл, группа автоматически устанавливается в эту группу.
[17:55] proglap ~ # touch /tmp/test/x
Это выполняется от root. Теперь мы получаем:
[17:57] [email protected] /tmp/test $ ls -la /tmp/test
total 9
drwxrwsr-x 2 root users 72 Apr 1 17:59 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
-rw-r--r-- 1 root users 0 Apr 1 17:59 x
Как вы видите добавленный файл из корня, но группа устанавливается в users
и таким образом я может удалить его
[18:00] [email protected] /tmp/test $ rm x
rm: remove write-protected regular empty file `x'? y
[18:01] [email protected] /tmp/test $ ls -la /tmp/test
total 9
drwxrwsr-x 2 root users 48 Apr 1 18:01 .
drwxrwxrwt 36 root root 9264 Apr 1 17:53 ..
Имейте в виду, что вы до сих пор необходимо изменить chmod
, если вы хотите Редактировать файл rw-r--r--
всего доступ к группе доступа. Но изменение chmod
, возможно даже работа с umask
, лучше, чем иметь дело с правами root и с использованием chown
.
Это сработало Sanhe - Спасибо –
** Внимание! Эта функция была DEPRECATED с PHP 5.3.0 и удалена с PHP 5.4.0. ** – Jim