Juniper Network Connect(VPN 클라이언트)가 수정되는 것을 방지하려고 하며 /etc/resovl.conf
systemd-run을 통해 이를 달성하려고 합니다. 나는 시도했다:
systemd-run --property=ReadOnlyDirectories=/etc ./ncsvc -h <redacted> -u <redacted> -p <redacted> -f <redacted>.der -L 2
다음과 같은 오류 메시지가 나타납니다.
Unknown assignment ReadOnlyDirectories=/etc.
Failed to create bus message: No such device or address
간단한 예제를 실행해도 같은 메시지가 나타납니다.
systemd-run --property=ReadOnlyDirectories=/etc env
systemd-run을 사용하여 프로세스를 실행하고 ReadOnlyDirectories를 설정하는 방법은 무엇입니까?
답변1
아직 모든 속성을 설정할 수는 없지만 이 문제를 해결하기 위해 TODO 목록에 있습니다.
여기:
* allow implementation of InaccessibleDirectories=/ plus ReadOnlyDirectories=... for whitelisting files for a service.
그리고 여기:
* document: ... - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications - add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr. - document systemd-journal-flush.service properly ...
인용하다
답변2
프로세스를 실행 systemd-run
하고 ReadOnlyDirectories
거기에서 설정할 수 있습니다v228
:
이전에는 유닛 파일에서만 설정할 수 있었던 많은 속성이 이제 버스를 통해 프로그래밍 방식으로 임시 유닛을 생성할 때 속성 설정으로도 사용할 수 있습니다. 이는
systemd-run
의 --setting 을 통해property=
노출 되기 때문입니다. 구체적으로 ,SyslogIdentifier=
,SyslogLevelPrefix=
,TimerSlackNSec=
,OOMScoreAdjust=
,EnvironmentFile=
,ReadWriteDirectories=
,ReadOnlyDirectories=
, ,InaccessibleDirectories=
, 입니다ProtectSystem=
.ProtectHome=
RuntimeDirectory=
답변3
이것이 귀하에게 적합한 솔루션인지는 확실하지 않지만 chattr +i /etc/resolv.conf
파일을 변경 불가능하게 만들어서 누구도 파일을 수정하지 못하도록 방지합니다. 심지어 루트도 마찬가지입니다.