Установить владельца / пользователя по умолчанию

6

Я веб-разработчик и поэтому настроил старую машину в офисе как сервер Ubuntu для тестирования веб-сайтов.

Я установил LAMP и создал папку / var / www, из которой обслуживаются все мои локальные сайты. Проблема заключается в том, что пользовательские разрешения, то есть любые файлы, которые я копирую в эту папку (с моей машины Windows через сеть), автоматически берут меня (даниэль) в качестве их владельца. Проблема в том, что я хочу, чтобы www-данные стали владельцем.

Я провел некоторое исследование и увидел, что должно быть возможно использовать setuid (и setgid), чтобы автоматически устанавливать www-данные как владельца всех файлов, помещенных в / var / www автоматически, до сих пор мне не повезло заставляя его работать.

Кто-нибудь может помочь? Спасибо вам

UPDATE: Это сделает то, что я хочу, чтобы он сделал? Разрешения файла по умолчанию для www-данных php user

ОБНОВЛЕНИЕ 2: Я как-то исправил свою проблему, изменив настройки самбы. Используя Webmin, мне удалось войти и изменить настройки по умолчанию (см. Здесь: Ссылка )

    
задан Daniel Hollands 16.11.2011 в 13:57
источник

4 ответа

4

Это было исправлено пользователем, установив следующие разрешения файлов с помощью Webmin:

  • Новый режим файла Unix: 664
  • Новый режим каталога Unix: 775
  • Пользователь Force Unix: www-data
  • Группа Force Unix: www-data
  • Разрешить символические ссылки за пределами общего доступа ?: Да [сомнительно]
  • Может удалять файлы только для чтения ?: Нет
  • Режим файловой системы Force Unix: 000
  • Режим каталога Force Unix: 000

См:

    
ответ дан htorque 27.02.2012 в 00:30
2

Вы можете запустить терминал и ввести:

sudo chown -R www-data /var/www

-R означает рекурсивный для каждого файла и каталога в каталоге / var / www, а www-data будет владельцем.

    
ответ дан topless 16.11.2011 в 14:06
0

сначала добавьте своего пользователя в группу www-data .

sudo usermod -a -G www-data your_user

Затем вы можете сделать www-данные своей группой, временно

newgrp www-data

Это запускает новую оболочку. любой новый файл, который вы создаете, будет принадлежать www-data.

Затем вы создаете / var / www и rw через root.www-data

sudo chown -R root:www-data /var/www

На «производственном сервере» я буду хранить файлы, принадлежащие root, и, насколько это возможно, ro по www-данным, но это может быть непрактично.

Вы можете сделать www-data своей основной группой с помощью usermod

sudo usermod -g www-data your_user
    
ответ дан Panther 27.02.2012 в 01:52
0

Linux игнорировать флажок setuid , но вы можете применить флаг setgid для каждого каталог внутри /var/www :

find /var/www -type d -exec chmod g+s {} +

Это приведет к тому, что каждый новый файл наследует группу каталога, пока пользователь сохраняет право собственности, например. daniel:www-data .

Но если вам абсолютно нужны файлы, чтобы иметь определенного владельца, вы можете настроить задание cron, чтобы исправить его на регулярном интервале.

    
ответ дан Cragmonkey 08.01.2018 в 01:58