altera as permissões da pasta inicial ao sair / desconectar

1

Eu tenho um caso de uso onde minha pasta no servidor linux precisa ter suas permissões abertas para que eu possa usar uma conta sudo para mover arquivos da minha pasta para pastas compartilhadas. O que acontece então é muitas vezes eu não sou o único a fazer logoff (desconexões de conexão ssh) e as permissões da minha pasta pessoal permanecem abertas. Eu não me importo com as permissões que estão sendo abertas, exceto pelo fato de que quando eu tento fazer o ssh de volta, as permissões de pasta aberta impedem que minha autenticação de chave funcione e sou forçado a digitar uma senha.

Eu quero saber se eu posso configurar uma maneira de sempre definir minhas permissões para 700 ao sair (graciosa ou não) da sessão ssh. Como alternativa, se houver uma maneira de fazer com que a autenticação de chave funcione quando minha pasta pessoal estiver definida como 777, isso também ajudará.

A propósito, caso seja útil, aqui está o que estou realmente tentando fazer. Eu uso scp para mover um .jar construído localmente da minha máquina para a pasta inicial no servidor linux. Eu então tenho que mover esse .jar da minha pasta pessoal para uma pasta compartilhada onde o .jar pode ser executado. Para mover esse .jar para a pasta compartilhada, tenho que usar uma conta sudo fornecida, no entanto, essa conta sudo não pode acessar minha pasta base, a menos que eu abra as permissões.

    
por Serge 15.05.2016 / 21:01

1 resposta

1

Usando as informações do seu comentário, a solução parece ser corrigir o problema subjacente em vez de responder à pergunta que você realmente fez.

I use scp to move a locally built .jar from my machine to the home folder on the linux server. I then have to move that .jar from my home folder to a shared folder where the .jar can be executed. To move that .jar to the shared folder I have to use a provided sudo account, however, that sudo account cannot access my home folder unless I open the permissions.

Como você percebeu, definir as permissões do diretório inicial como 0777 impede que ssh funcione. Isso é por design. Em vez disso, crie um subdiretório para conter seu arquivo jar e relaxe com segurança as permissões nesse diretório. Adicione permissão de execução para agrupar e outros para o seu diretório pessoal, para que sua conta sudo possa acessá-la na pasta de destino:

chmod 711 "$HOME"'
mkdir -m777 "$HOME/subdir"

Neste ponto, considere como exemplo que $HOME pode ser /home/serge . Agora, embora ls /home/serge falhe na sua conta sudo com um problema de permissão, ele poderá pesquisar em seu diretório inicial e no subdiretório ls /home/serge/subdir .

Se a sua conta sudo e a sua própria conta tiverem um grupo no comentário, ou puderem ser organizadas para que eles tenham um grupo em comum, você poderá relaxar as permissões do grupo no subdiretório:

chmod 710 "$HOME"
chmod 770 "$HOME/subdir"
chgrp {whatever} "$HOME/subdir"

Como alternativa, transfira o arquivo para /tmp (ou /var/tmp ) em vez de para o seu diretório pessoal e evite toda a dificuldade.

    
por 15.05.2016 / 22:15