Начиная с Spark 2.1 (и этот коммит ) можно установить переменную среды SPARK_NO_DAEMONIZE
и иметь супервизор напрямую вызывает предоставленные сценарии запуска $ SPARK_HOME / sbin / start-master.sh
и $ SPARK_HOME / sbin / start-slave.sh
.
Это описано в $ SPARK_HOME / conf / spark-env.sh.template
и $ SPARK_HOME / sbin / spark-daemon.sh
Я полагаю, что наиболее безопасным, что вы можете сделать, без acls или любого другого пользователя, доступного через sudo или setuid, является chmod 444
в файл.
Чтобы сделать chmod'ing файла обратно на o + w
более трудным для любого дочернего процесса, вы можете попытаться настроить сценарий оболочки, который вызывает bash - r --rcfilehibited.rc
, где ограниченный.rc устанавливает ПУТЬ, чтобы избежать chmod. Это не мешает сценариям, которые вызывают bash или какой-либо другой процесс, вызывать сценарий со своим собственным путем и изменять файл, но маловероятно, что кто-то позаботился об этом явно.
Тем не менее, создание файлов без разрешений u + w
от имени другого пользователя по-прежнему более разумно с операционной точки зрения, если вы не можете chattr
или chflags
.
Apparmor и selinux можно использовать для детального управления разрешениями процессов. Это включает в себя предоставление процессу возможности читать, а не записывать в файл.
firejail является более простой для пользователя оболочкой для этого.
Опцию --read-only
можно использовать для отказа от доступа на запись к файлу при создании нового процесса -, который кажется именно тем, что вам нужно.