![사용자 정의 데몬: 루트 사용을 피하기 위해 어떤 사용자로 실행할 수 있나요?](https://linux55.com/image/196144/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%EB%8D%B0%EB%AA%AC%3A%20%EB%A3%A8%ED%8A%B8%20%EC%82%AC%EC%9A%A9%EC%9D%84%20%ED%94%BC%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%EC%96%B4%EB%96%A4%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
하나 쓰고 싶다악마백그라운드 통신을 위해 시작 후 로그인 전 시작USB-rawhid그리고아두이노 마이크로컨트롤러.
이 데몬을 루트가 아닌 사용자로 실행하고 싶습니다.
또한 이 데몬에 대해서만 새 사용자를 생성하는 것을 피하고 싶습니다.
이 목적으로 (재)사용할 수 있는 시스템 범용 사용자가 있습니까?
목록에 But... 이라는 /etc/shadow
사용자가 있습니다.daemon
# su daemon
This account is currently not available.
나의 현재 목표는 다음과 같습니다.
이 범용 사용자를 기본 Debian 및 Ubuntu 설치에서 사용할 수 있다면 좋을 것입니다.
답변1
@Bib가 언급했듯이 daemon
해당 사용자로 전환하려고 할 때 나타나는 오류 메시지는 해당 사용자의 로그인 셸이 로 설정되어 있기 때문입니다 /sbin/nologin
. 이렇게 하면 누구도 해당 사용자로 콘솔에서 작업할 수 없으므로 서비스에 대한 불필요한 간섭을 피하는 것이 좋습니다. 해당 사용자로 실행 중입니다. 이는 systemd
해당 사용자의 UID를 사용하여 프로그램을 실행할 수 없다는 의미는 아니므 로 daemon
해당 사용자를 원하는 방식으로 사용할 수 있습니다.
그러나 daemon
처음에는 사용자와 그룹이이러한 목적으로 도입된 것입니다.현재 실제로 권장되는 접근 방식은 컴퓨터에 설정하려는 사용자 정의 서비스에 대한 전용 "낮은 권한" 사용자를 생성하는 것입니다.
실행 중인 서비스를 사용하겠다고 명시적으로 명시했으므로 이 지시어를 사용하여 바이너리가 실행될 사용자를 지정할 systemd
수 있습니다 . User=
그냥 추가하세요
User=daemon
[Service]
파일 섹션 .service
. 바라보다systemd
선적 서류 비치더 많은 정보를 알고 싶습니다.