2016-05-23 3 views
0

Если я работаю в интерактивной оболочке любого пользователя, запрос списка инода для /home возвращает:Ls сообщает другой инод для системного каталога (/ дома) в интерактивной оболочке и в сценарии

[[email protected] ~]$ ls -ild /home 
2 drwxr-xr-x 14 root root 4096 May 20 16:20 /home 

Однако сценарий, вызываемый в файле unitd с помощью предложения ExecStartPre=, и указанный для запуска в качестве конкретного пользователя (то есть User=postgres), который выполняет ту же команду ls, показанную выше, отображает совершенно другой индекс и не работает, останавливая меня как обычно:

10364 d--------- 2 root root 40 May 20 15:06 /home 

У меня действительно нет подсказки, почему это так. Это действительно очень странно. Может кто-нибудь объяснить, что происходит?

ответ

0

Штока форма Systemd единичного файла я пытался получить доступ включает в себя пункт ProtectHome=true, который в соответствии с Systemd документации:

ProtectHome= 
     Takes a boolean argument or "read-only". If true, the directories /home, /root and /run/user are made inaccessible and 
     empty for processes invoked by this unit. 

Изменением положения, чтобы false сделал /home доступную для сценария.

 Смежные вопросы

  • Нет связанных вопросов^_^