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

334
amn

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

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

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

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

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

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

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

0
Что это за платформа? На некоторых платформах "/ bin / sh" ссылается на [оболочку Almquist] (http://en.wikipedia.org/wiki/Almquist_shell). Elliott Frisch 10 лет назад 0
Извините, это Arch Linux x86-64, я поставил его в вопросе. amn 10 лет назад 0

0 ответов на вопрос