루트가 ' 쓰기를 위해 파일을 열 수없는 이유는 무엇입니까?

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

: wq

오류가 발생했습니다.

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

루트가 쓰기 위해 파일을 열 수없는 이유는 무엇입니까?

입력 여기에 이미지 설명

답변

/ usr / lib64 / sas12 디렉터리가 이미 있습니다.

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

그렇지 않은 경우 파일을 만들기 전에 디렉터리를 만들어야합니다.

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

이제 vim 명령이 예상대로 작동합니다.

댓글

  • 감사합니다. 실제로 존재하지 않는 폴더 내의 파일에 대해 vi를 작성했습니다. As : vi ~/bin/backup.

답변

파일 시스템이 읽기 전용으로 마운트되었거나 root 권한 문제가 아닙니다. 하지만 vim 기능입니다. 다른 편집기를 사용하세요. 또는 파일 권한을 변경합니다 (예 : root를 파일 소유자로 지정), 파일을 수정하고 다시 변경하세요.

답변

파일에 “+ a”속성이 설정되어 있으면이 오류가 발생할 수 있습니다. chattr 명령은 기존 파일의 추가 만 허용하고 삭제할 수는 없습니다.

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

댓글

  • 내 문제가 해결되었습니다.

답변

이는 편집을 위해 파일에 잠금을 설정할 수있는 동일한 위치에 스왑 파일이있는 경우에도 발생할 수 있습니다.

예제 파일을 찾으십시오.

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

이 파일이 있으면 파일을 편집 할 수 없습니다. 파일을 제거한 다음 편집하면 작동합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다