Não é possível encontrar um executável para um usuário não root sobre ssh [closed]

1

Observação: estou repostando a pergunta, pois não posso responder ou comentar.

Estou criando um usuário não raiz para executar um arquivo de objeto sozinho (sem acesso root). Minha intenção é que o usuário execute um arquivo que esteja em /atlas/Bin . Então eu defino /etc/passwd como user:x:0:0:test:/:/atlas/Bin/object . Mas quando eu abro um novo shell (através do teraterm) através do SSH para logar no usuário, recebo um erro, pois ele não consegue encontrar o objeto.

Eu fiz as alterações em /etc/profile para definir o PATH para incluir /atlas/Bin para ajudar a encontrar o objeto. Não tenho certeza do que estou sentindo falta aqui. Se eu, em vez disso, fizer login com o usuário root por meio do SSH, posso executar esse objeto sem um problema.

Estou fornecendo os valores /etc que uso para o arquivo de construção abaixo.

/ etc / passwd

root:x:0:0:root:/:/bin/sh
....
user:x:0:0:test:/:/atlas/Bin/object
sshd:x:15:6:sshd:/var/chroot/sshd:/bin/sh

/ etc / group

root:x:0:root
...
sshd:x:6:user

/ etc / profile

PATH=/atlas/Bin:/usr/bin:/bin:/usr/sbin:/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll/
alias ll="ls -l"

/ etc / ssh / ssh_config

Host *
SendEnv LANG LC_* 

/ etc / ssh / sshd_config

Protocol 2
LoginGraceTime 600
LogLevel    DEBUG3
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no
    
por user3512111 21.04.2017 / 00:26

1 resposta

1

Se você quiser usar o shell como executável para o usuário, talvez seja necessário adicionar o programa a /etc/shells .

Você pode querer usar um shell restrito para o usuário com um perfil que execute seu script e saia.

Você pode usar /bin/false como o shell e um comando especificado no arquivo authorized_keys para a chave usada para acessar o servidor. Se /bin/false não funcionar, tente um shell restrito, como /usr/bin/rbash .

    
por 21.04.2017 / 04:17

Tags