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 모드를 허용 또는 비활성화로 변경하십시오.