Как сделать sudo с POSIX лучше?

Я внес изменения в мою систему Arch Linux x86-64, где я запускаю bash исключительно через режим POSIX, используя /bin/sh (связан с '/bin/bash') в качестве оболочки входа в систему и вместо того, чтобы помещать вещи в /etc/profile Я определил ENV=/etc/shrc в моем /etc/environment в соответствии с руководством Bash, так что он выполняет /etc/shrc файл при запуске, куда идут все мои псевдонимы, подсказки и тому подобное.

По сути, я хотел полностью отказаться от специфических функций Bash, включая /etc/profile и друзья.

Проблема возникла, хотя, где после выполнения sudo, здесь нет ENV переменная, как sudo очевидно сбросить среду (либо после разбора /etc/environment или вообще не делай так) и все мои псевдонимы и прочее исчезли. sudo -i делает то же самое, в основном - нет ENV,

Должен ли я считать это полезным для безопасности системы, или я должен сделать что-то с этим, например, make sudo preserve ENV переменная?

Чтобы добавить к этому горе, su - (но нет su) также не хватает ENV и, таким образом, все вещи /etc/shrc делает. Так что, возможно, это не просто sudo проблема, в конце концов? Я думаю, что man-страница Bash не является специфической для этого - она ​​просто говорит: "Когда вызывается как интерактивная оболочка с именем sh, bash ищет переменную ENV..." -Ну, я вызываю ее как интерактивную оболочку, не так ли?? Почему в моей среде нет ENV (протестировано с env)

Я не понимаю, как сохранить POSIXness всего этого и в то же время не вносить слабые места в безопасность, хотя sudo сохранить один или несколько env. переменные. По крайней мере, это должно сохранить ENV нет?

Я надеюсь, что я проясняю себя здесь.

0 ответов

Другие вопросы по тегам