사용자 정의 데몬: 루트 사용을 피하기 위해 어떤 사용자로 실행할 수 있나요?

사용자 정의 데몬: 루트 사용을 피하기 위해 어떤 사용자로 실행할 수 있나요?

하나 쓰고 싶다악마백그라운드 통신을 위해 시작 후 로그인 전 시작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선적 서류 비치더 많은 정보를 알고 싶습니다.

관련 정보