Situação
Em um sistema CentOS, como usuário root, which rsync
me dá 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 bem entendi, este arquivo é executável para o seu proprietário, o grupo do proprietário, bem como para qualquer outra pessoa. No entanto, sendo logado como um usuário regular, which rsync
não dá 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 é encontrado, nem chamando rsync
nem /usr/bin/rsync
:
-bash: /usr/bin/rsync: No such file or directory
Tentando which rsync
através 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
Questão
Quais são os passos necessários para fazer /usr/bin/rsync
executável para um determinado usuário não root?
Outras informações (isso pode ou não ser relevante)
- Este sistema é um servidor remoto
- eu quero ligar
rsync
de um script de shell local, comorsync [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 essa pergunta com "cloudlinux" devido à reputação insuficiente.)
fonte
Respostas:
Você já tentou executar
/usr/bin/rsync
( não simplesmentersync
) como usuário relevante? Isso deve lhe dar uma idéia muito melhor do que está errado: nenhum arquivo, permissão negada ou qualquer outra coisa.ls -l /usr/bin/rsync
deve produzir alguns saída, se apenas dizerls: cannot access /usr/bin/rsync: No such file or directory
. Se não imprimir absolutamente nada, você pode querer verificar se alguém mexeu nos comandos -type -a ls
etype -a which
deve dizer o que você está realmente executando.Você tem certeza absoluta de que está executando os comandos na mesma máquina? Tente executar os seguintes comandos:
fonte
ls
não fornece a mensagem "Nenhum arquivo ou diretório". Infelizmente, não faz diferença se eu tento executarrsync
ou/usr/bin/rsync
.