
웹서버를 실행하기 위한 서비스 수준 계정이 있고 이 사용자는 /sbin/nologin
.
일반적으로 그룹에 사용자를 추가할 때 새 그룹 권한을 사용하려면 로그아웃한 후 로그인해야 합니다.
이 사용자를 다른 그룹에 추가하여 일부 권한을 확장하고 싶지만 내 웹 서버 사용자가 로그인하지 않기 때문에 사용자가 새 그룹 권한에 대한 액세스 권한을 언제, 어떻게 얻게 됩니까?
답변1
프로세스 그룹은 프로세스 프로그램을 실행하기 전에 루트에서 대상 사용자로 변경하는 프로그램에 의해 설정됩니다. 사용자가 로그인할 때 사용자를 변경하는 프로그램은 로그인 프로그램( login
, su
, sshd
, …)이고, 프로세스의 프로그램은 사용자의 쉘이다. 시스템 사용자로 실행되는 데몬의 경우 사용자를 변경하는 프로그램은 su
데비안과 같은 다른 도구 일 수 있습니다.start-stop-daemon
. 예를 들어 start-stop-daemon
항상 프로세스에 보조 그룹을 추가합니다. 사용자 변경 프로그램에는 사용자 데이터베이스의 기본 그룹과 그룹 데이터베이스의 보조 그룹을 모두 설정하는 논리가 있어야 합니다.
답변2
CentOS 6이 nscd
실행 중일 수 있습니다. hig-level-command(예: )로 그룹 소유권을 변경하지 않은 경우 /etc/gshadow도 업데이트되도록 usermod
실행해야 합니다 . 로컬 그룹 캐시를 무효화하기 위해 추가를 실행 중인 grpconv
경우 . 기본 GID를 변경한 경우 .nscd
nscd -i group
nscd -i passwd
으로 결과를 확인하세요 id -a $ACCOUNT
.
그 후 - 서비스를 다시 시작하십시오.
답변3
나는 su를 제안한다 - ; /etc/init.d/NAME 중지; /etc/init.d/NAME 시작;
"/etc/init.d/NAME restart"로는 충분하지 않을 수 있습니다.