/var에 있는 시스템 서비스의 소유권 및 권한

/var에 있는 시스템 서비스의 소유권 및 권한

/etc아래의 일부 구성 파일을 읽고 아래의 데이터베이스 파일에 써야 하는 애플리케이션을 개발 중입니다./var/lib

.service응용 프로그램이 시스템 서비스로 실행될 수 있도록 파일을 작업 중입니다 .

애플리케이션은 많은 네트워크 관련 작업을 수행하며 해당 피어를 알 수 없는 경우도 있습니다.

.service네트워크 및 알 수 없는 피어와 관련된 보안 영향에 주의하고 싶기 때문에 파일의 User 매개변수를 일반 사용자(루트 아님)로 설정했습니다 . 그러나 이렇게 하면 애플리케이션이 데이터베이스에 쓸 수 없게 됩니다 /var/lib. .

이것을 설정하는 안전한 방법은 무엇입니까?

답변1

내 솔루션은 @filbranden의 의견 제안과 유사합니다(감사합니다!).

관리자 사용자는 특정 그룹에 속합니다. 그룹 소유권을 /var/lib/db그룹으로 설정하고(사용자 소유권은 그대로 유지됨 root) 디렉터리에 대한 권한을 775( drwxrwxr-x그룹에 w권한이 있음)로 설정했습니다.

이제 systemd 서비스는 관리자가 실행하기 때문에 /var/lib/db작성에 오류가 발생하지 않습니다.

관련 정보