Ununtu 16.04 и 18.04 (одинаковая проблема на обоих)
Я пытаюсь использовать sshfs для монтирования каталога в другой системе, он отлично работает из командной строки, но когда я выполняю ту же команду из марионетки «exec», кажется, что это получается, но точка монтирования не используется:
rful011@secmonprd10:~$ ls -l ~sensors/Rules/ ls: cannot access '/home/sensors/Rules/source': Permission denied total 4 drwxr-xr-x 2 sensors sensors 4096 Jun 5 13:03 raw lrwxrwxrwx 1 sensors sensors 33 Aug 21 12:32 sensor -> /usr/local/var/lib/suricata/rules d????????? ? ? ? ? ? source
где "источник" - это каталог, о котором идет речь
Для его монтирования используется следующая команда: sshfs -o idmap=user sensors@<host>:Rules/raw /home/sensors/Rules/source
Puppet говорит, что выполнение выполнено успешно, и я не могу найти в журналах ничего, что противоречило бы этому.
Интересно, выполняет ли sshfs набор переменных среды?
код марионетки:
exec{"rule-source-share": command => "sshfs -o idmap=user sensors@<host>:Rules/raw /home/sensors/Rules/source", user => "sensors", path => "/usr/bin:/bin:/usr/local/bin", unless => "test -f /home/sensors/Rules/source/updated" }
"Если" не проверяет, на месте ли крепление, но не работает
Есть ли лучший способ убедиться, что каталог смонтирован?
Добавление:
environment => ['USER=sensors', 'HOME=/home/sensors'],
к exec в марионетке, похоже, устранила проблему с монтированием, чтобы определить, смонтирован ли диск, я сейчас использую
unless => "mountpoint -q /home/sensors/Rules/source"
который, кажется, работает нормально