/etc/passwd.xxx 파일을 생성할 수 없지만 centos에서는 /etc/test 파일을 생성할 수 있습니다.

/etc/passwd.xxx 파일을 생성할 수 없지만 centos에서는 /etc/test 파일을 생성할 수 있습니다.

제가 사용하고 있는 AWS 이미지가 어떤 이유로 구성되어 있고 /etc/passwd.xxx(x에 아무 것도 삽입)라는 이름의 파일을 생성할 수 없는 것 같습니다. test, test.xxx 등의 파일을 만들 수 있는데, passwd로 시작하는 파일 생성만 금지하는 것 같습니다.

이는 groupmod 명령이 실행될 때 passwd.xxxxx(x는 임의의 숫자) 파일을 생성하려고 시도하기 때문에 문제가 됩니다. 아마도 파일을 생성한 후 passwd.xxxxx 파일을 사용하여 passwd를 전환하지만 passwd.xxxxx 파일을 생성할 수 없기 때문에 그렇게까지 진행되지는 않습니다. 내가 만든 그룹이 이미 다른 GID를 사용하여 존재하는 경우 이로 인해 ansible 스크립트가 실패하게 됩니다.

따라서 문제는 왜 특정 구조의 파일만 생성이 거부되고 다른 모든 파일은 생성될 수 있는지입니다.

Strace는 유용한 오류보다 적습니다.

open("/etc/passwd.23491" O_WRONGLY|O_CREAT|O_TRUNC 0600) = -1 EACCESS (Permission denied)

나는 모든 것에 sudo를 사용합니다.

/etc에는 755개의 권한이 있으며 /etc의 lsattr은 다음과 같습니다.

---------I--e-- /etc

확인해 보니 대문자 i와 소문자 i가 다릅니다. 내 말은 인덱싱을 위해 해시 트리를 사용한다는 뜻이에요

selinux를 허용 모드로 설정하려고 시도했지만 문제가 계속 발생합니다. selinux 로그를 보면 유일한 avc 거부 오류는 sshd의 comm과 eic_run_authorized_keys의 이름에 대한 것입니다. 이는 passwd 파일 생성과 관련된 것으로 의심됩니다. groupmod에 대한 시스템 호출을 볼 수 있지만 이와 관련된 명백한 오류는 없습니다.

passwd.xxxx 파일을 생성할 수 없는 이유는 무엇이며 이를 허용하도록 수정하려면 어떻게 해야 합니까?

관련 정보