'su' command: Permissão negada

1

Quando digito no bash o seguinte comando su -s /bin/bash as root, nenhum erro ocorre.

Quando digito su -s /bin/bash -m [MyUserName] , obtenho o erro: Permission denied.

Tanto quanto eu poderia descobrir, tem algo a ver com o arquivo /etc/bashrc .

Eu olhei: /etc tem permissões 754 e /etc/bashrc tem permissões 544

Existem muitos adives para alterar a permissão para permitir a execução desse arquivo. Pergunta: Eu realmente preciso de permissão de execução? Por quê? Ou existe alguma outra maneira de resolver esse problema?

EDITAR

Existem algumas demandas para dar mais algumas informações. Então aqui estão eles:

O comando su -s /bin/bash -m [MyUserName] é o comando extraído de todo o comando su -s /bin/bash -m [MyUserName] /some/path/tomcat/bin/startup.sh -[some] [args] .

Primeiro, pensei, tem algo a ver com o tomcat, mas quando eu posso digitar su -s /bin/bash -m [MyUserName] sem a parte do tomcat, o problema não é a parte do tomcat. Tanto quanto eu sei, todo o comando é usado, para iniciar o comando como um usuário especial.

    
por kristian 17.09.2015 / 13:13

2 respostas

4

O problema são suas permissões para /etc . Estes devem ser 755 , não 754 .

O texto completo do erro é o seguinte:

su -s /bin/bash -m roaima
Password: _
bash: /etc/bash.bashrc: Permission denied
I have no name!

Isso mostra que o sistema está com dificuldades para ler /etc/passwd para obter os detalhes do seu diretório pessoal, nome completo, etc.

Corrija as permissões em /etc e o problema será resolvido.

    
por 17.09.2015 / 13:35
1

Use a página man:

-m, -p, --preserve-environment
    Preserves  the  whole  environment, ie does not set HOME, SHELL,
    USER nor LOGNAME.

Portanto, rodar 'su -m' como root fará com que o bash leia ~ / .bashrc, o que expande (devido ao ambiente preservado) para /root/.bashrc, o qual você não tem direitos como usuário. Sua / etc e / etc / bashrc permissão estão erradas também, deve ser 755 para / etc & 644 para / etc / bashrc.

    
por 17.09.2015 / 13:35