Criando uma conta UNIX que executa apenas um comando

13

Existe uma maneira de criar uma conta de usuário no Solaris que permita que os usuários executem apenas um comando? Nenhum shell de login ou qualquer outra coisa. Eu poderia fazê-lo com /usr/bin/falseno /etc/passwde é só pegar o usuário ssh <hostname> <command>, mas há uma maneira mais agradável para fazê-lo?

Will Dowling
fonte

Respostas:

15

Você pode usar um comando forçado se os usuários puderem se conectar apenas através do ssh. Essencialmente, sempre que o usuário se conectar através do ssh com uma determinada chave e um determinado nome de usuário, você o força a executar um comando (ou um script ou) que você determinou nas .ssh / allowed_keys. Os comandos emitidos pelos usuários serão ignorados.

Por exemplo:

# in .ssh/authorized_keys
command="cd /foo/bar && /path/to/scripts/my_script.sh arg1 arg2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa public_key
Barthelemy
fonte
Bem, vocês dois estavam certos. O que eu fiz foi criado um script que fornece um menu no prompt e usou o comando de verificação forçada em .ssh / allowed_keys no servidor em frente à chave para o usuário autorizado. Isso agora permite que ele faça ssh para o servidor e, no prompt, é fornecido um bom menu com vários comandos para executar. Nada mais pode ser executado. Dias felizes!
Will Dowling
2
Editado; você precisa destas opções para proteger um comando forçado: "sem encaminhamento de porta, sem encaminhamento X11, sem encaminhamento de agente, sem-pty".
Tobu
11

Você pode definir o shell desse usuário como um script executando o comando que você deseja permitir: Sempre que o usuário efetuar login, o comando será executado e o usuário será desconectado. E como não há "shell completo", você não precisa lidar com o usuário que tenta coisas estranhas;)

tante
fonte
0

Gostaria de saber se você poderia fazer isso com o RBAC e fornecer ao usuário um shell privilegiado (pfsh, pfcsh ou pfksh) e criar um perfil para os comandos que os usuários poderiam executar.

sleepyweasel
fonte