[unix] 시스템 사용자로 서비스를 실행해야하는 이유는 무엇입니까?

유닉스 세계에 대한 일반적인 질문이 있습니다.

현재 집에서 Ubuntu를 실행 중이며 장치에 Transmission 을 설치 했으며 파일을 전송 데비안 사용자 로 실행하고 저장합니다 . 나는 이것을 내 사용자로 변경하는 것이 합리적인지 궁금해서 파일과 상호 작용하기가 쉽고 sudo 할 필요가 없습니까? 왜 이것이 나쁜 생각입니까?



답변

사용자가 아닌 전용 시스템 사용자로 Transmission을 실행하는 것이 권장되는 주된 이유는 소프트웨어에 구성된 디렉토리 외부에 파일을 노출시키는 익스플로잇을 허용하는 취약점이있는 경우 소프트웨어가 노출 될 가능성이 없기 때문입니다. Linux 자체는 기본 권한을 통한 이러한 종류의 액세스를 방지하므로 홈 디렉토리의 민감한 파일.

일반 사용자와 함께 Transmission 디렉토리의 파일을보다 쉽게 ​​관리하려면 Transmission 디렉토리 debian-transmission의 파일을 소유하고 있거나 가지고 있는 그룹에 사용자를 추가 하는 것이 좋습니다. 해당 디렉토리 및 그 안의 파일에 대한 읽기 / 쓰기 액세스

우분투 하우투는 제안 이 명령을 (약간의 환경 변수에서 사용자를 얻기 위해 적용) :

sudo usermod -a -G debian-transmission "$USER"

( usermod기존 프로세스의 그룹에는 영향을 미치지 않으므로을 실행 한 후 로그 아웃했다가 다시 로그인해야합니다 .)

이 기능을 사용하면 Transmission으로 다운로드 한 파일을보다 쉽게 ​​관리하면서 보안을 강화하기 위해 자체 전용 시스템 사용자로 계속 실행할 수 있기를 바랍니다.


답변