chmod + 폴더에 있는 모든 파일의 소유자를 변경합니다.

chmod + 폴더에 있는 모든 파일의 소유자를 변경합니다.

아주 이상한 문제가 있어요

Redhat 시스템에서 다음을 수행하는 경우(bash 스크립트에서 소유자 변경)

chmod 600 /etc/yum.repos.d/*.repo

우리는 다음을 얻었습니다:

chmod: cannot access ‘/etc/yum.repos.d/pgdg-94-redhat.repo’: No such file or directory
chmod: cannot access ‘/etc/yum.repos.d/pgdg-94-redhat.repo’: No such file or directory
chmod: cannot access ‘/etc/yum.repos.d/pgdg-94-redhat.repo’: No such file or directory
chmod: cannot access ‘/etc/yum.repos.d/pgdg-94-redhat.repo’: No such file or directory
chmod: cannot access ‘/etc/yum.repos.d/pgdg-94-redhat.repo’: No such file or directory

하지만 파일은 /etc/yum.repo.d 아래에 있습니다.

yum.repos.d]# ls -ltr 

-rw---------. 1 루트 루트 482 2016년 3월 29일 pgdg-94-redhat.repo

그게 어떻게 가능합니까? 여기서 무슨 일이 일어나고 있는 걸까요?

답변1

Hauke가 언급했듯이 SELinux가 문제일 가능성이 높습니다. 권한을 다른 사용자/모드로 변경해 보셨나요? ls -lZ는 특정 selinux 컨텍스트를 가진 파일을 제공합니다.

예는 다음과 같습니다:

rw-r--r--. root root system_u:object_r:etc_t:s0       rhel-source.repo

컨텍스트가 올바르지 않으면 작동하지 않습니다.
이 경우 # restorecon /etc/yum.repos.d/*컨텍스트가 복구됩니다.

스크립트에 관한 한 마지막에는 /etc/yum.repos.d 디렉터리에서 Restorecon 명령을 실행하여 저장소 파일의 컨텍스트가 올바른지 확인해야 합니다. 그러면 운영 체제가 이들과 함께 작동합니다.

답변2

끝에 있는 점은 -rw-------.파일에 SELinux 보안 컨텍스트가 있음을 나타냅니다. 결과에 따라 액세스가 차단될 수 있습니다.

관련 정보