Я - веб-разработчик, и тем самым имейте, устанавливают старую машину в офисе как Сервер Ubuntu, в целях протестировать веб-сайты.
Я имею ЛАМПУ установки и создал/var/www папку, от которой обслуживаются все мои локальные сайты. Проблемой является проблема полномочий пользователя, т.е. любые файлы, которые я копирую в ту папку (от моей машины Windows через сеть) автоматически, берут меня (daniel) как их владелец. Проблема состоит в том, что я хочу, чтобы www-данные стали владельцем.
Я провел некоторое исследование и видел, что должно быть возможно использовать setuid (и setgid) для автоматической установки www-данных как владельца всех файлов, помещенных в/var/www автоматически, до сих пор у меня не было удачи, заставляя это работать.
Кто-то может помочь?Спасибо
ОБНОВЛЕНИЕ: это сделало бы то, что я хочу, чтобы это сделало? Полномочия файла по умолчанию для php пользовательских www-данных
ОБНОВЛЕНИЕ 2: я отчасти устранил свою проблему путем изменения моих настроек самбы. Используя Webmin, я смог войти и изменить настройки по умолчанию (как замечено здесь: http://imageshack.us/photo/my-images/521/captureon.png/)
Это было зафиксировано пользователем путем установки следующего использования полномочий файла Webmin:
См.:
Можно включить терминал и тип:
sudo chown -R www-data /var/www
-R обозначает рекурсивный для каждого файла и каталога под/var/www, и www-данные будут владельцем.
сначала добавьте своего пользователя к www-data
группа.
sudo usermod -a -G www-data your_user
Можно затем сделать www-данные группой, временно
newgrp www-data
Это запускает новую оболочку. любой новый файл, который Вы создаете, будет принадлежать www-данным.
Вы затем делаете/var/www принадлежавшим и rw root.www-данным
sudo chown -R root:www-data /var/www
На "рабочем сервере" я сохраню файлы принадлежавшими корню, и, как можно больше, ro www-данными, но это не может быть практично.
Можно сделать www-данные основной группой с usermod
sudo usermod -g www-data your_user
Системы Linux игнорируют setuid
флаг разрешения, но можно подать заявку setgid
флаг для каждого каталога в /var/www
:
find /var/www -type d -exec chmod g+s {} +
Это заставит каждый новый файл наследовать группу каталога, в то время как пользователь сохраняет владение, например. daniel:www-data
.
Но при абсолютной необходимости в файлах, чтобы иметь определенного владельца, Вы могли бы настроить задание крона для закрепления его на равном интервале.