Dlaczego root nie może ' otwierać pliku do zapisu?

[root@localhost ~]# vim /usr/lib64/sas12/smtpd.conf pwcheck_method: saslauthd mech_list: PLAIN LOGIN log_level:3 

: wq

Wystąpił błąd.

"/usr/lib64/sas12/smtpd.conf" E212: Can"t open file for writing. 

Dlaczego root „nie może otworzyć pliku do zapisu?

enter opis obrazu tutaj

Odpowiedź

Sprawdź, czy / usr / lib64 / sas12 katalog już istnieje:

root@host:~# ls /usr/lib64/sas12 

Jeśli tak nie jest, musisz utworzyć katalog przed przystąpieniem do tworzenia pliku:

root@host:~# mkdir -p /usr/lib64/sas12 root@host:~# vim /usr/lib64/sas12/smtpd.conf 

Polecenie vim powinno teraz działać zgodnie z oczekiwaniami.

Komentarze

  • Dzięki. Właściwie robiłem vi dla pliku w folderze, który nie istniał. Jako: vi ~/bin/backup.

Odpowiedź

Albo system plików jest zamontowany tylko do odczytu, albo nie jest to problem z uprawnieniami root ale funkcja vim. Użyj innego edytora lub zmień uprawnienia do plików (np. ustaw root właścicielem pliku), edytuj plik i zmień go z powrotem.

Odpowiedź

możesz otrzymać ten błąd, gdy w pliku jest ustawiony atrybut „+ a”. polecenie chattr pozwoli tylko na dołączenie, ale nie usunięcie istniejącego pliku.

server123:/tmp # chattr +a manish server123:/tmp # lsattr manish -----a---------- manish 

Komentarze

  • To rozwiązało mój problem, thx

Odpowiedź

Może się tak zdarzyć, jeśli w tej samej lokalizacji znajduje się również plik wymiany, który może ustawić blokadę pliku do edycji.

przykład poszukaj pliku

/usr/lib64/sas12/.smtpd.conf.swp

Jeśli ten plik istnieje, nie możesz go edytować. Spróbuj go usunąć, a edycja powinna działać.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *