CentOS 7에서 사용자에게 "cap_sys_admin" 권한을 추가하는 방법은 무엇입니까?

CentOS 7에서 사용자에게 "cap_sys_admin" 권한을 추가하는 방법은 무엇입니까?

cap_sys_adminmyroot 사용자에게 권한을 추가하려고 합니다 .

이를 위해 다음 줄을 추가했습니다 /etc/security/capabilities.

cap_sys_admin myroot
none *

이 줄 /etc/pam.d/su:

auth            required        pam_cap.so

그러나 myroot 사용자에게는 이러한 권한이 없습니다.

내 사용자에게 이러한 권한을 어떻게 추가하나요?

답변1

파일 이름이 지정 /etc/security/capability.conf되지 않은 것 같습니다 /etc/security/capabilities. 나는 다음과 같이 일할 수 있습니다 :

$ cat /etc/security/capability.conf
cap_sys_admin   user1

그런 다음 PAM에 추가하십시오 pam_cap.so.노트:pam_cap.so앞쪽에 있어야 합니다 pam_rootok.so.

$ cat /etc/pam.d/su
#%PAM-1.0
auth        optional    pam_cap.so
auth        sufficient  pam_rootok.so
...
...

다음 명령을 실행하면 위의 내용이 적용됩니다 su.

$ su - user1

이 사용자의 능력을 확인할 수 있습니다.

$ capsh --print
Current: = cap_sys_admin+i
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,35,36
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
uid=1001(user1)
gid=1001(user1)
groups=1001(user1)

이 출력의 주요 줄은 다음과 같습니다.

현재: = cap_sys_admin+i

콤보

이는 CentOS 7.x 시스템에서 수행되었습니다. 다음 기능 관련 패키지를 설치했습니다.

$ rpm -qa | grep libcap
libcap-ng-utils-0.7.5-4.el7.x86_64
libcap-2.22-9.el7.x86_64
libcap-ng-0.7.5-4.el7.x86_64

기능 작업 시 다음과 같은 유용한 도구를 제공합니다.

$ rpm -ql libcap-ng-utils | grep /bin/
/usr/bin/captest
/usr/bin/filecap
/usr/bin/netcap
/usr/bin/pscap

$ rpm -ql libcap | grep /sbin/
/usr/sbin/capsh
/usr/sbin/getcap
/usr/sbin/getpcaps
/usr/sbin/setcap

노트:사용법에 대한 추가 정보가 필요하면 해당 도구에 대한 해당 매뉴얼 페이지를 참조하십시오.

인용하다

관련 정보