Varför SFTP nekar åtkomst
SFTP körs med kontot du loggade in med och har ingen motsvarighet till sudo. De flesta filer i /etc ägs av root, så ett vanligt konto kan läsa vissa av dem men inte skriva till någon. Det är korrekt beteende och ska inte åtgärdas genom att försvaga behörigheterna.
Vad du ska undvika
Kör inte chmod 777 på en konfigurationsfil, ändra inte ägaren för filer i /etc till ditt konto och aktivera inte lösenordsinloggning för root bara för en enda redigering. Vissa tjänster vägrar använda filer med för generösa behörigheter, och varje sådan ändring gör servern mindre säker långt efter att redigeringen är klar.
Använd sudoedit i en terminal
sudoedit kopierar filen till en tillfällig plats, öppnar den i din redigerare under ditt eget konto och skriver tillbaka den först när du har sparat. Själva redigeraren körs inte som root.
sudoedit /etc/nginx/nginx.confLadda upp en kopia och installera den sedan
Om du föredrar en lokal redigerare kan du ladda upp filen till din hemkatalog och installera den med sudo. Säkerhetskopiera först originalet till en plats som inte läses av något inkluderingsdirektiv i konfigurationen. Kommandot install anger ägare och behörighetsläge, och på system med SELinux anger restorecon rätt kontext. Kontrollera originalets ägare och behörighetsläge innan du använder dessa värden, eftersom inte alla filer använder root och 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.confValidera innan du tillämpar ändringen
En fil med syntaxfel kan få en tjänst att stanna vid nästa omstart. Kör kontrollen för den aktuella tjänsten innan du laddar om den. När du ändrar SSH-inställningar ska du hålla den aktuella sessionen öppen och testa en ny inloggning från ett andra fönster.
sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/exampleRedigering med sudo i CH-J Server Manager
File Manager erbjuder att öppna en fil med sudo när SSH-kontot inte kan läsa den och varnar för att sudo behövs för att spara. När du sparar skickas data till kontots privata tillfälliga katalog. Efter verifiering flyttar sudo filen till rätt plats och bevarar ägare, behörigheter, ACL och SELinux-kontext. En valfri säkerhetskopia sparar originalet innan det ersätts. Lösenordet skickas endast till sudo på servern och lagras varken på disk eller i loggar. Om sudo-policyn kräver en terminal (requiretty) kringgår appen inte detta. Appen validerar inte filens innehåll, så kör själv tjänstens kontroll.