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


19

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

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

답변:


40

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

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

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

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

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

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


1
방금 동일한 문제가 발생하여 서비스를 일반 사용자로 변경하는 것을 고려하고 있습니다. 이것은 훨씬 낫습니다. 감사!
Alko

3
또한 디렉토리를 사용하여 기본 권한을 사용하여 권한을 부여 할 수도 있습니다 setfacl. 참조 unix.stackexchange.com/questions/101263/...
CTRL-ALT-delor

1
고마워
ScipioAfricanus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.