Práticas recomendadas para usuários / grupos em servidores Debian

2

No meu servidor / vps depois de obter as credenciais inicialmente, eu:

adduser meder
visudo

em visudo, na parte inferior:

meder    ALL=(ALL) ALL

A partir daí, uso meder , juntamente com o comando sudo . Isso é praticamente como eu deveria estar fazendo isso?

E sobre o tema da criação de um grupo de usuários de modo que www-data e meder possam acessar os mesmos arquivos, que privilégios específicos devo dar, como configurá-los para que ambos possam tocar nos mesmos arquivos? ótimo se código de amostra foi fornecido como eu não sou tão fluente ainda).

    
por meder omuraliev 11.12.2009 / 17:41

3 respostas

8

Sim, adicionar um novo usuário não raiz e, em seguida, sudoing dele é a "melhor prática". Se você tiver muitos comandos para executar ao mesmo tempo, muitas pessoas dizem para executar sudo su - . No entanto, o sudo tem uma opção -i que é usada para fornecer um shell raiz.

Além disso, se você quiser desabilitar logins interativos para root, você pode alterar a senha em /etc/shadow para '!'.

Para que dois usuários acessem os mesmos arquivos, você criaria um novo grupo (vamos chamá-lo de 'compartilhado'):

$ sudo groupadd shared

Então você adicionaria seus usuários a ele:

$ sudo usermod -a -G shared meder
$ sudo usermod -a -G shared www-data

Em seguida, em qualquer arquivo ou diretório que você deseja acessar, altere a propriedade do grupo do arquivo / diretório:

$ sudo chgrp share [path-to-file]

Se você quiser que o usuário do grupo tenha permissões totais para os arquivos, talvez seja necessário alterar as permissões do arquivo também:

$ sudo chmod g+w [path-to-file]

ou

$ sudo chmod 775 [path-to-dir]

Leia man chmod para obter uma descrição das várias sintaxes de permissão.

Por fim, muitas vezes você deseja definir o bit de grupo para que novos arquivos criados sejam criados com o grupo que possui o diretório em vez de seu grupo padrão. Por exemplo, quando você cria o usuário 'meder', o useradd cria um "grupo privado de usuário" que será chamado de "meder" e o usuário "meder" será o único membro. Isso significa que, quando você criar novos arquivos, eles serão de propriedade do meder: meder (meder do usuário e meder do grupo). Se você quiser que eles sejam de propriedade do grupo compartilhado, você deve definir o bit de ID do grupo no diretório. Para fazer isso, você precisa:

$ sudo chown g+s [path-to-dir]

Um exemplo completo seria:

$ sudo -i
# mkdir /opt/shared
# groupadd shared
# usermod -a -G shared meder
# usermod -a -G shared www-data
# chgrp shared /opt/shared
# chmod 775 /opt/shared
# chmod g+s /opt/shared
# exit

O único problema com o qual me deparei com isso é que a maioria dos arquivos é criada com 755 ou 644 permissões, o que significa que você sempre precisa adicionar manualmente permissões de gravação de grupo a arquivos na pasta compartilhada. Há provavelmente uma maneira de contornar isso, eu simplesmente não sei disso.

Por último, você não precisa criar o grupo compartilhado. Você poderia simplesmente adicionar 'meder' ao grupo www-data e fazer o resto com esse grupo.

    
por 11.12.2009 / 20:28
2

Se www-data for uma conta (provavelmente aquela que o apache executa como?), você precisa adicionar meder ao grupo apropriado em / etc / group ou criar um novo grupo com o meder e o www dados (usando groupadd).

Depois de fazer isso, quando você fizer login, poderá executar "newgrp" para torná-lo seu grupo "atual" e todos os arquivos criados por você terão uma propriedade de grupo do grupo compartilhado.

    
por 11.12.2009 / 20:10
0

No Debian, geralmente você não precisa se preocupar com a criação de www-data, já que na maioria dos casos, o Debian packager irá fornecer scripts de mantenedor para automatizar a configuração ao instalar pacotes deb.

    
por 26.12.2009 / 12:15