Usuário Linux para acessar e executar somente em um local

3

Estou tentando descobrir uma solução para isso:

Eu tenho algum usuário que eu criei usando o comando useradd. Quero permitir que esse usuário faça o que quiser em um local especial, digamos / var / www /. Ele pode exigir o upload ou download de um arquivo, extrair uma pasta compactada, listar os arquivos e pastas, alterar permissões, etc.

Ele deve ser restrito a fazer qualquer outra coisa, como criar outro usuário / grupo, usando o sudo, instalar / desinstalar qualquer coisa ou até mesmo acessar outras pastas ou qualquer outra. É possível conseguir isso? Alguém por favor pode me ajudar o mais cedo possível.

FYI: SO: Linux, qualquer sabor Plataforma: AWS

    
por serverstackqns 14.12.2015 / 16:01

2 respostas

0

Usuários criados com useradd não têm acesso a sudo por padrão, e não podem instalar pacotes, adicionar usuários, etc ... Somente root pode fazer isso (via < em> sudo ou diretamente de um shell ou script).

Dê ao usuário o usuário um diretório home, (várias maneiras de fazer isso, use um comando por exemplo [olhe perto da parte inferior]).

E definir acessos

Por exemplo, em /home/theuser (sudo, ou torne-se root primeiro)

sudo mkdir /home/theuser
sudo chmod 700 /home/theuser
# next create / move user home dir to /home/theuser
sudo usermod -m -d /home/theuser theuser
# give a password to the user
sudo passwd theuser

E o usuário irá entrar / home / theuser, pode fazer, lá, o que ele quiser. Crie, exclua arquivos e diretórios. Upload de arquivos (assumindo que ele tem permissão para usar ssh para enviar arquivos via rsync por exemplo).

O último ponto da sua pergunta " até acessando outras pastas ". Contanto que outros diretórios de usuário sejam - geralmente - acessíveis apenas por seus proprietários (acesso como drwx------ ou 0700 ), você realmente deseja que o usuário não consiga ver os arquivos do sistema, etc ...?

Neste caso, você tem que prender o usuário em seu diretório home, documento no AskUbuntu, na verdade não é específico do Ubuntu.

A razão pela qual eu estava perguntando sobre o sistema de arquivos, é porque você também pode usar a ACL (Access Control Lists) para definir um acesso específico a um determinado usuário em qualquer nível do (s) sistema (s) de arquivos. Por exemplo. impedindo o usuário de visitar algumas áreas específicas do sistema. Mais informações sobre ACLs

    
por 14.12.2015 / 16:43
0

Você pode colocar o usuário em um cgroup e um chroot. Se você quiser que o SSH também seja usado, você pode dar uma olhada no Jailkit que permite prender usuários do ssh. Na prática, um cgroup mais permissões restritas em seu servidor deve ser suficiente.

    
por 14.12.2015 / 18:33