Я хотел бы установить переменную среды для всех пользователей через /etc/profile
которую пользователи не могут переопределить или сбросить. Я почти уверен, что это возможно, но у меня возникают проблемы с поиском соответствующей документации для встроенных модулей set
и / или export
. Если это действительно возможно, как это может быть сделано?
1 ответ
Я считаю, что вы ищете только для readonly
.
readonly FOO='bar'
Они не могут быть изменены, а также не могут быть сброшены. Из руководства Bash:
readonly [-aAf] [-p] [name[=value]] …
Отметьте каждое имя как только для чтения. Значения этих имен не могут быть изменены при последующем присвоении. Если указана опция
-f
, каждое имя относится к функции оболочки. Опция-a
означает, что каждое имя относится к переменной индексированного массива; опция-A
означает, что каждое имя относится к переменной ассоциативного массива. Если указаны оба параметра,-A
имеет приоритет.Если аргументы имени не указаны или указана опция
-p
, выводится список всех имен, доступных только для чтения. Другие параметры могут использоваться, чтобы ограничить вывод подмножеством набора имен только для чтения.Опция
-p
позволяет отображать вывод в формате, который может быть повторно использован в качестве ввода. Если за именем переменной следует=value
, значение переменной устанавливается вvalue
. Статус возврата равен нулю, если не указана недопустимая опция, один из аргументов имени не является допустимой переменной оболочки или именем функции или опция-f
предоставляется с именем, которое не является функцией оболочки.