ti-enxame.com

Criando uma conta UNIX que executa apenas um comando

Existe uma maneira de criar uma conta de usuário no Solaris, que permite que os usuários executem apenas um comando? Nenhum shell de login ou qualquer outra coisa. Eu poderia fazer isso com /usr/bin/false Em /etc/passwd E apenas obter o usuário para ssh <hostname> <command>, Mas há uma maneira mais agradável de fazer isso?

13
Will Dowling

Você poderia usar um comando forçado se os usuários só podem se conectar através do SSH. Essencialmente, sempre que o usuário se conecta através do SSH com uma determinada tecla e um determinado nome de usuário, você o forve a executar um comando (ou um script ou) que determinou no .SSH/AUTORIZED_KEYS. 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
15
Barthelemy

Você pode definir o shell desse usuário para um script apenas executando o comando que você deseja permitir: Sempre que o usuário efetua login, o comando é executado, então o usuário é desconectado. E como não há "concha completa", você não precisa lidar com o usuário tentando coisas funky;)

11
tante

Eu estou querendo saber se você poderia fazer isso com RBAC e dar ao usuário uma concha privilegiada (PFSH, PFCSH ou PFKSH) e criar um perfil para os comandos que o (s) usuário (s) poderá ser executado.

0
sleepyweasel