Situação
Em um sistema CentOS, como usuário root, which rsync
me fornece a seguinte saída:
/usr/bin/rsync
As permissões desse binário são as seguintes:
-rwxr-xr-x 1 root root 415000 31. Okt 09:36 rsync*
Se eu entendi corretamente, este arquivo é executável para seu proprietário, o grupo do proprietário, bem como para qualquer outra pessoa. No entanto, estando logado como um usuário comum, which rsync
não gera saída e ls -l /usr/bin/rsync
diz:
/bin/ls: (...) No such file or directory
É impossível executar o rsync - o comando não foi encontrado, nem chamando rsync
nem /usr/bin/rsync
:
-bash: /usr/bin/rsync: No such file or directory
Tentando which rsync
por meio de um túnel SSH:
$ ssh user@host which rsync
which: no rsync in (/usr/local/jdk/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin)
$ ssh root@host which rsync
/usr/bin/rsync
Pergunta
Quais são as etapas necessárias para tornar /usr/bin/rsync
executável para um determinado usuário não raiz?
Mais informações (que podem ou não ser relevantes)
- Este sistema é um servidor remoto
- Desejo chamar
rsync
de um script de shell local, como rsync [parameters] user@host:/some/dir .
- O script de shell será executado automaticamente e a autenticação do "usuário" será feita pela chave SSH
Atualização / solução
Acontece que eu estava enganado e o sistema está rodando no CloudLinux, não no CentOS. Aparentemente, o CloudLinux permite desativar ferramentas para usuários regulares, como era o caso do rsync. Minhas desculpas pela desinformação!
(Infelizmente, não posso marcar esta pergunta com "cloudlinux" devido à reputação insuficiente.)