Блокування змінних середовища


0

Чи можна обмежити користувача від зміни деякого набору змінних середовища?

У мене є сценарій, який встановлює PATH, щоб він вказував на певну збірку певного програмного забезпечення, і ставить користувача на новий сеанс bash. Мені цікаво, чи можна зробити PATH (та жменю інших змінних) незмінними для цього сеансу bash, змусивши їх вийти, якщо вони хочуть почати змінювати частини свого середовища, що впливатиме на те, як працює програмне забезпечення.

Відповіді:


3

Це зробить те, що ви хочете:

readonly PATH

2
Я не впевнений, що це допоможе. Користувачі завжди могли знову переробити баш. Або запустіть іншу оболонку. Або ... Можливо, середовище Chroot було б краще.
maxelost

Погоджено, якщо PATH не встановлений належним чином для початку, користувач може обійти обмеження - наскільки це важливо, залежить від конкретного випадку використання. Як ви кажете, chroot варто вивчити, як і встановити оболонку на rbash ("bash -r"), щоб обмежити, що може робити користувач.
Алекс Хоуелл

У цьому випадку це лише додаткова перевірка, щоб уникнути помилок. Залежно від того, що вказав користувач, їх PATH вказує на кілька смітників / dir (а LD_LIBRARY_PATH на жменю lib / dirs тощо). Я намагаюся зменшити ці шанси, що після запуску мого сценарію для "використання середовища X" вони змінюють щось важливе, виймаючи їх із вибраного "програмного карантину".
Ендрю Вуд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.