Porque é que o SFTP indica permissão negada
O SFTP funciona com a conta usada para iniciar sessão e não tem equivalente ao sudo. A maioria dos ficheiros em /etc pertence a root, pelo que uma conta normal pode ler alguns deles, mas não pode escrever em nenhum. Este é o comportamento correto e não deve ser corrigido através da redução das restrições de acesso.
O que não fazer
Não execute chmod 777 num ficheiro de configuração, não altere o proprietário dos ficheiros em /etc para a sua conta e não ative o início de sessão como root com palavra-passe só para fazer uma edição. Alguns serviços recusam ficheiros com permissões demasiado permissivas, e cada alteração deste tipo reduz a segurança do servidor muito para além da edição.
Utilize sudoedit num terminal
O sudoedit copia o ficheiro para uma localização temporária, abre-o no seu editor com a sua própria conta e só o volta a escrever no local original depois de guardar. O editor em si não é executado como root.
sudoedit /etc/nginx/nginx.confEnvie uma cópia e depois instale-a
Se preferir um editor local, envie o ficheiro para o seu diretório pessoal e instale-o com sudo. Primeiro, faça uma cópia de segurança do original num local que não seja lido por nenhuma diretiva de inclusão de configuração. O comando install define o proprietário e as permissões e, em sistemas com SELinux, o restorecon define o contexto correto. Verifique o proprietário e as permissões do original antes de copiar estes valores, porque nem todos os ficheiros usam root e 644.
stat -c '%U %G %a' /etc/nginx/nginx.conf
sudo cp -a /etc/nginx/nginx.conf /root/nginx.conf.bak
sudo install -o root -g root -m 644 ~/nginx.conf.new /etc/nginx/nginx.conf
sudo restorecon -v /etc/nginx/nginx.confValide antes de aplicar
Um ficheiro com erros de sintaxe pode impedir o funcionamento de um serviço no próximo reinício. Execute a verificação do serviço em causa antes de o recarregar. Ao alterar definições de SSH, mantenha a sessão atual aberta e teste um novo início de sessão a partir de uma segunda janela.
sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/exampleEdição com sudo no CH-J Server Manager
O File Manager propõe abrir um ficheiro com sudo quando a conta SSH não o consegue ler e avisa que será necessário sudo para guardar. Ao guardar, os dados são enviados para o diretório temporário privado da conta e, após verificação, o sudo move-os para o destino, preservando o proprietário, as permissões, a ACL e o contexto SELinux. Uma cópia de segurança opcional conserva uma cópia do original antes da substituição. A palavra-passe é enviada apenas para o sudo no servidor e não é guardada no disco nem nos registos. Se a política de sudo exigir um terminal (requiretty), a aplicação não contorna esse requisito. A aplicação não valida o conteúdo do ficheiro, pelo que deve executar a verificação do serviço.