확장 된 속성 비트가 설정된 파일에 대해 getfattr이 아무것도 표시하지 않는 이유는 무엇입니까?


10

CentOS 6.2에서 Nagios XI 설치를 실행 중이며 백업 스크립트를 수정하고 싶습니다. 이 쉘 스크립트에 확장 속성 비트가 설정되어 있음을 알았으므로 변경할 때 아무것도 엉망이되지 않도록하고 싶습니다. 나는 "cp -p"가이 설정을 유지하지 못한다는 것을 실험하고 발견했다. 나는 Linux에서 확장 속성을 처음 접했고 확장 속성을 표시 해야하는 'getfattr'명령이 있지만이 파일에 대해서는 아무것도 표시하지 않는다는 것을 알았습니다.

cd /usr/local/nagiosxi/scripts
ll backup_xi.sh
-rwxr-x---.  1 nagios nagios   2757 Jul  3 10:03 backup_xi.sh*

# nothing is displayed by 'getfattr':
getfattr -d backup_xi.sh

# and nothing special seems to be present according to 'getfacl':
getfacl backup_xi.sh
# file: backup_xi.sh
# owner: nagios
# group: nagios
user::rwx
group::r-x
other::---

궁극적으로, 제 목표는 원래 제품 설치 중에 설정된 속성을 유지하면서 파일을 수정하는 것입니다. getfattr에 따라 속성이 나타나지 않더라도 확장 속성 비트가 설정되는 이유가 있습니까?


1
"cp -p"의 기본값은 "cp --preserve = mode, ownership, timestamps"입니다. "cp --preserve = all backup_xi.sh backup_xi.sh.ORIG"를 사용하면 확장 된 속성 비트가 유지됩니다.
Alan

답변:


10

security.selinux확장 된 속성에 의해 기본적으로 표시되지 않습니다 getfattr; 명시 적으로 요청해야합니다.

$ getfattr -d Work
$ getfattr -n security.selinux Work
# file: Work
security.selinux="unconfined_u:object_r:user_home_t:s0"

5
감사합니다. getfattr 매뉴얼 페이지는 "-d : 경로 이름과 관련된 모든 확장 된 속성 값을 덤프합니다." 분명히 "모두"가 "모두"를 의미하지는 않습니다. 와. "-"패턴이있는 "-m"옵션에 "all"속성이 나열되어 있습니다. "getfattr -m-backup_xi.sh"명령을 사용하면 "security.selinux"가 유일한 속성으로 간주됩니다.
Alan

실제로 매뉴얼 페이지 는 "패턴의 기본값은"^ user \\. "이며 사용자 네임 스페이스의 모든 속성을 포함합니다. 모든 속성을 포함하려면"- "를 지정하십시오." 알아 둘만 한.
Ashe

1
모든 확장 된 속성을 나열하려면getfattr -d -m ".*" <filename>
elig
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.