RHEL6 및 CentOS6에서 할당량을 구성할 수 없습니다. quotecheck가 오류 메시지를 반환합니다.

RHEL6 및 CentOS6에서 할당량을 구성할 수 없습니다. quotecheck가 오류 메시지를 반환합니다.

RHEL6 및 CentOS6에서 할당량을 구성할 수 없습니다. quotecheck가 오류 메시지를 반환합니다.

새 파티션(/dev/sda6)을 생성하고 이를 마운트했습니다(/hulk에).

다음 줄을 사용하여 /etc/fstab 파일을 편집하여 파티션에 할당량을 제공합니다.

/dev/sda6   /hulk   ext4   defaults,usrquota,grpquota    0 0

그리고 다음과 같은 명령을 내렸다

[root@localhost ~]# mount -o remount,rw /hulk

[root@localhost ~]# mount|grep hulk
/dev/sda6 on /hulk type ext4 (rw,usrquota,grpquota)

[root@localhost ~]# cd /hulk

[root@localhost hulk]# ls
lost+found

quotacheck 명령을 사용하면 다음과 같은 오류 메시지가 나타납니다.

[root@localhost hulk]# quotacheck -cug /hulk
quotacheck: Cannot create new quotafile /hulk/aquota.user.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied
quotacheck: Cannot create new quotafile /hulk/aquota.group.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied

답변1

허용 모드에서 한 번 실행하고 가능한 위반 사항을 검색하거나 모든 위반 사항이 발견될 때까지 프로세스를 반복합니다.

ausearch -c 'quotaon' --raw | audit2allow -M my-quotaon
semodule -i my-quotaon.pp

그러면 모든 위반 사항을 검색하고 이를 허용하는 적절한 selinux 모듈을 생성합니다. 작동할 때까지 이 단계를 반복할 수 있습니다.

이것이 제가 Fedora 24에서 생각해낸 것입니다. 설치 /home시 할당량이 활성화되어 있습니다 .

module my-quotaon 1.0;

require {
    type fs_t;
    type quota_exec_t;
    type home_root_t;
    type init_t;
    type quota_db_t;
    class file { execute execute_no_trans open quotaon read };
    class filesystem { quotaget quotamod };
}

#============= init_t ==============

#!!!! This avc is allowed in the current policy
allow init_t fs_t:filesystem { quotaget quotamod };

#!!!! This avc is allowed in the current policy
allow init_t home_root_t:file read;
allow init_t quota_db_t:file quotaon;

#!!!! This avc is allowed in the current policy
allow init_t quota_db_t:file { open read };

#!!!! This avc is allowed in the current policy
allow init_t quota_exec_t:file { execute execute_no_trans open read };

답변2

# chcon ---reference=/var /hulk 

또는 SElinux 모드를 허용 또는 비활성화로 변경하십시오.

관련 정보