Configurando permissões de usuário para novo usuário

2

Eu quero adicionar um novo usuário ao meu servidor do CentOS 6 (vamos chamá-lo de Barry). Eu fiz a conta de usuário Barry e adicionei-o a um grupo que criei chamado webusers como este:

groupadd webusers
useradd -G webusers Barry
passwd Barry

Agora que tenho uma conta de usuário configurada com uma senha e adicionada a um grupo, desejo conceder ao grupo permissão para gravar no arquivo de configuração nginx, reiniciar o nginx e fazer o que for necessário em / var / www / like criar arquivos / diretórios etc.

O arquivo de configuração do nginx está localizado aqui:

/webservers/nginx/conf/nginx.conf

Para reiniciar o nginx, quero que o grupo de webusers possa executar o seguinte comando:

/etc/init.d/nginx restart

E eu quero dar a eles permissões para ler e escrever neste diretório:

/var/www/
chmod parece terrivelmente confuso para mim, eu nunca tive que usá-lo antes e sou meio novo na administração do sistema.

    
por Whitey 17.02.2012 / 17:14

2 respostas

4

Para o arquivo conf nginx, simplesmente torne-o em grupo:

chgrp webusers /webservers/nginx/conf/nginx.conf
chmod 664 /webservers/nginx/conf/nginx.conf

Para permitir que o grupo de webusers reinicie o serviço, será mais fácil fazer isso com sudo . Se não estiver instalado, instale com (como root):

yum install sudo

Em seguida, edite o arquivo / etc / sudoers com:

visudo

Adicione algumas entradas como:

Cmnd_Alias NGINX=/sbin/service nginx restart
%webusers ALL = NGINX

Isso permitirá que os membros do grupo de webusers executem o comando sudo service nginx restart .

Para / var / www, você precisará adicionar o grupo write e adicionar o bit setgid ao diretório para garantir que novos arquivos tenham webusers de grupo:

chgrp -R webusers /var/www
chmod 2775 /var/www
    
por 17.02.2012 / 17:27
1

Aqui está uma ótima cartilha sobre permissões unix (e usando chmod / chown / etc). Parece que você deseja que /var/www seja de propriedade do grupo de usuários da Web e com a permissão g + s. Você provavelmente desejará ler umask e considerar que esses usuários usem umask 002 para este diretório compartilhado.

/etc/init.d/nginx exigirá permissões de root, já que ele vai querer ligar à porta 80, para isso você usaria o sudo. Deve haver toneladas de recursos disponíveis para configurar o sudo, incluindo a página de manual do sudoers.

    
por 17.02.2012 / 17:25