Я хочу добавить нового пользователя на свой сервер CentOS 6 (назовем его Барри). Я создал учетную запись пользователя Barry и добавил его в созданную мной группу под названием webusers, например:
groupadd webusers
useradd -G webusers Barry
passwd Barry
Теперь, когда у меня есть учетная запись пользователя, настроенная с паролем и добавленная в группу, я хочу дать группе разрешение на запись в файл конфигурации nginx, перезапустить nginx и делать все, что им нужно, в / var / www / например, создавать файлы / каталоги и т. д.
Конфигурационный файл nginx находится здесь:
/webservers/nginx/conf/nginx.conf
Чтобы перезапустить nginx, я хочу, чтобы группа веб-пользователей могла выполнить следующую команду:
/etc/init.d/nginx restart
И я хочу дать им разрешение на чтение и запись в этот каталог:
/var/www/
chmod выглядит для меня ужасно запутанным, мне никогда раньше не приходилось его использовать, и я новичок в системном администрировании.
Для файла конфигурации nginx просто сделайте его доступным для записи в группе:
chgrp webusers /webservers/nginx/conf/nginx.conf
chmod 664 /webservers/nginx/conf/nginx.conf
Чтобы разрешить группе веб-пользователей перезапустить службу, проще всего сделать это с помощью sudo
. Если он не установлен, установите его (от имени пользователя root):
yum install sudo
Затем отредактируйте / etc / sudoers с помощью:
visudo
Добавьте несколько записей, например:
Cmnd_Alias NGINX=/sbin/service nginx restart
%webusers ALL = NGINX
Это позволит членам группы веб-пользователей запускать команду sudo service nginx restart
.
Для / var / www вам нужно добавить запись группы и добавьте бит setgid в каталог, чтобы новые файлы имели группу веб-пользователей:
chgrp -R webusers /var/www
chmod 2775 /var/www
Вот отличный букварь на разрешениях unix (и используя chmod / chown / etc). Похоже, ты захочешь /var/www
должны принадлежать группе веб-пользователей и иметь разрешение g + s. Вы, вероятно, захотите прочитать umask и подумать о том, чтобы эти пользователи использовали umask 002
для этого общего каталога.
/etc/init.d/nginx
потребуются права root, так как он захочет привязаться к порту 80, для этого вы должны использовать sudo. Для настройки sudo должно быть множество ресурсов, в том числе справочная страница sudoers.