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.