Постоянно переключаясь на zsh в сценарии, не будучи корнем и не попросившись пароля

Если бы Вы хотите продвинуть крайность свободы в максимально возможной степени, Вы также хотели бы coreboot, подводную лодку или BIOS PMON. Лучшее (только?) опция, в этом случае, является ноутбуком RMS: Lemote YeeLoong, с помощью PMON. Это является однако довольно маленьким (или 8.9'' или 10'') и недостаточно мощным, но очень дешевым. Выезд "Lemote Linux ПК и ноутбуки Linux"

Когда дело доходит до выбора видеокарты пойдите Intel. Свободное (как в Свободе) у драйвера И встроенного микропрограммного обеспечения и Вас будет 3D ускорение.

4
04.08.2011, 22:46
3 ответа

Если у Вас нет разрешения изменить Вашу оболочку входа в систему, можно сказать удар (я предполагаю, что удар является оболочкой входа в систему) заменять себя zsh. В Вашем ~/.bash_login, добавьте эту строку:

exec /bin/zsh --login
4
27.01.2020, 20:56
  • 1
    Стоп, осторожный! С некоторыми дистрибутивами или настольными средами (я не помню конкретные случаи напрямую), если Вы делаете это, Вы найдете, что не можете войти в систему под X (потому что /etc/?dm/Xsession вызовы bash --login). –  Gilles 'SO- stop being evil' 04.08.2011, 22:39
  • 2
    Gilles, что Вы предложили бы вместо этого? –  Matt Alexander 04.08.2011, 22:51
  • 3

Если Ваша версия chsh требует пароля (мой делает), необходимо будет установить sudo со специальными полномочиями. Можно настроить его для предоставления доступа к любой программе, не запрашивая пароль как это:

user   ALL=(ALL) NOPASSWD:/usr/bin/chsh

Где "пользователь" является Вашим именем пользователя (или префикс с % для названия группы). Удостоверьтесь указывают полный путь к Вашему chsh. Это не позволит пользователю выполнять что-либо еще как корень (включая из сценария), но он признает, что один двоичный файл, который будет выполнен как корень без пароля, таким образом обходя пароль пользователя, запрашивает.

0
27.01.2020, 20:56

В зависимости от ваших конкретных потребностей, если вы хотите сделать это, потому что вы запускаете длинный скрипт и не хотите, чтобы он зависал в середине этого вопроса, вы можете запросить пароль заранее, а затем выполнить chsh с привилегиями sudo , чтение пароля из stdin .

read -p 'What is your password?' sudo_password

# rest of the script here

sudo -S chsh -s '/bin/zsh' "${USER}" <<< "${sudo_password}"

-S заставляет sudo читать пароль из stdin . Помните о возможных рисках безопасности при таком подходе (хотя я не смог воспроизвести это, и опять же, в зависимости от ваших потребностей, это может не быть проблемой).

0
27.01.2020, 20:56

Теги

Похожие вопросы