시스템 사용자의 요점은 무엇입니까?

시스템 사용자의 요점은 무엇입니까?

좋아요, 시스템 사용자를 보면 시스템 사용자의 요점은 최소한의 권한으로 서비스를 실행하고 비밀번호나 SSH가 없는 사용자를 갖는 것입니다. 내가 가진 문제는 실제로 무엇이든 하려면 서비스를 실행하기 위해 사용자에게 셸을 제공해야 하지만 그렇게 하면 사용자에게 셸을 제공하지 않는다는 목적이 무산된다는 것입니다. 제가 잘못된 접근 방식을 사용하고 있는 것은 아닌지, 그렇다면 시스템 사용자가 서비스를 실행하게 하는 올바른 방법은 무엇인지 궁금합니다. 이 명령을 사용하여 사용자를 생성 adduser --system --disabled-login --disabled-password --home /usr/local/appname appname 하고 이 명령을 사용하여 실제로 user/issue 명령을 사용합니다.sudo su -s /bin/bash appname -C <command>

답변1

실제로 어떤 작업을 수행하려면 해당 사용자에게 서비스를 실행할 수 있는 셸을 제공해야 합니다.

sudo -u appname <command>

당신이하고있는 일은 매우 잘못되었습니다. 대부분의 시스템에는 서비스를 시작하는 서비스 관리자가 있어야 합니다( sudo service apache2 start). 많은 서비스에는 올바른 사용자( )로 수동으로 시작할 수 있는 도구가 이미 포함되어 있습니다 sudo apachectl start.

기본적으로 이는 사용자에게 로그인 셸, 비밀번호, 홈 디렉터리 또는 SSH 액세스 권한이 있는지 여부와 무관합니다. 공유 시스템의 사용자는 이 모든 것을 가질 수 있지만 어떤 조합이라도 유효합니다.

가장 안전한 조합은 없음입니다. 이렇게 하면 사람들이 해당 사용자로 컴퓨터에 로그인하는 것을 방지할 수 있습니다. 이 사용자로 무엇이든 실행할 수 있는 유일한 방법은 이미 루트 액세스 권한을 갖고 있는 것입니다.

관련 정보