É sempre bom compartilhar um ID de usuário?

É sempre bom compartilhar um ID de usuário?

No Un * x, é uma boa ideia ter um ID de usuário no qual muitas pessoas diferentes façam login quando fazem coisas?

Freqüentemente estou instalando software ou algo assim em um sistema Linux ou BSD. Desenvolvo software há 24 anos, então sei como fazer a máquina fazer o que quero, mas nunca tive a responsabilidade de manter uma instalação multiusuário onde alguém realmente se importasse com a segurança. Portanto, minhas opiniões não parecem testadas.

Agora estou em uma empresa onde há um servidor no qual muitas pessoas fazem login com um único ID de usuário e fazem coisas. Estou instalando alguns softwares nele. Não é realmente um servidor público e só pode ser acessado via VPN, mas mesmo assim é usado por muitas pessoas para executar testes em software personalizado e coisas assim. É um servidor de teste.

Estou pensando que, no mínimo, usar um único usuário obscurece a trilha de auditoria, e isso é ruim. E é simplesmente deselegante, porque as pessoas não têm espaços próprios no servidor.

Mas, novamente, com mais IDs de usuário, talvez haja uma chance maior de que um deles seja comprometido, permitindo que invasores obtenham acesso.

?

Responder1

Use UIDs separados. Ter vários usuários com o mesmo UID torna impossível saber quem é quem. Quaisquer pesquisas reversas de UID para logname tornam-se não confiáveis.

Uma solução padrão para seus requisitos é instalar e usar o sudo. sudo permite conceder a capacidade de executar programas como um usuário diferente para qualquer usuário ou grupo de usuários que você desejar. O sudoersarquivo permite flexibilidade significativa sobre quem tem permissão para fazer o quê. As ações executadas usando sudogeralmente são registradas.

Algumas distribuições bloqueiam o root e usam sudopara permitir que os usuários executem ações que precisam ser executadas como root.

É possível e comum permitir que usuários executem suou usem a -iopção para se tornarem outro usuário. Isso reduz um pouco a trilha de auditoria, mas vinculada à contabilidade do processo você pode obter uma trilha de auditoria muito boa.

Lembre-se de que qualquer pessoa com acesso root geralmente pode contornar sua trilha de auditoria. Não dê acesso root às pessoas, a menos que você confie nelas.

Responder2

Como você disse, para fins de auditoria, isso não é ideal. Ao ter vários IDs de usuário, você se permite verQuemestá fazendoo queem quetempo. Isso não quer dizer que seja infalível. Nada os impede de informar uns aos outros suas credenciais ou de outros usuários roubarem credenciais.

Se você cria um software personalizado, vejo que seu maior risco vem de alguém se perguntando o rm -rfque acontece no diretório raiz, entre outras coisas potencialmente terríveis (mas você testou backups....certo?)

Responder3

Eu acho que depende totalmente de quais são seus benefícios, levará algum tempo para organizar as contas e definir as permissões e assim por diante, e se você definir isso com cuidado, poderá definir grupos de usuários para que até mesmo algumas contas sejam hackeadas não afeta necessariamente o resto do sistema, mas essas coisas fazem parte da segurança, então você deve se concentrar em quais são suas necessidades.

Acho que a melhor maneira para você seria criar 2 ou 3 grupos e um ID de usuário em cada um, para que você possa pelo menos gerenciar os grupos (que levam menos tempo e esforço do que IDs de usuário separados para cada usuário) e fornecer alguma habilidade de permissões e auditoria.

informação relacionada