sudo с паролем в одной командной строке?

В напряженные дни я хотел бы работать

$ ./configure && make && sudo make install && halt

ночью и лягте спать, надеясь, что приложение было бы автоматически установлено. Но то, что я вижу на следующий день, является экраном, где sudo просит у меня пароль. Таким образом, как я мог выполнить sudo с паролем в одной командной строке или являюсь там каким-либо другим методом, чтобы сделать это?

119
задан 08.08.2012, 09:54

5 ответов

Да, используйте -S переключатель, который читает пароль из STDIN:

$echo <password> | sudo -S <command>

Таким образом для Вашего случая это было бы похоже на это:

$./configure && make && echo <password> | sudo -S make install && halt

конечно, замена <password> с Вашим паролем.

177
ответ дан 07.12.2019, 07:50
  • 1
    Очевидно, нельзя было бы хотеть выполнять это, если существует опасность кого-то еще видящего пароль в истории оболочки. – Brett Daniel 09.11.2009, 05:16

Вы могли заменить свою командную строку этим:

$sudo su

$./configure && make && make install && halt

Вам сразу предложат Ваш пароль, затем остальная часть команд будет работать как суперпользователь.

10
ответ дан 07.12.2019, 07:50
  • 1
    альтернатива (и вероятно предпочтенный) версия этого: sudo sh -c "./configure && make && make install && halt" – quack quixote 09.11.2009, 05:51

Вы могли также настроить sudo с visudo чтобы разрешить Вам пользователя для использования делают как sudo без пароля.

User_Alias USERS = your_user
Cmnd_Alias CMDS = /usr/bin/make
USERS ALL = (ALL) NOPASSWD: CMDS
9
ответ дан 07.12.2019, 07:50

Установка sudo как этот опасна, если кто-то, оказалось, видел то, что sudo не требует никакого пароля на Вашей учетной записи. Если Вы не знаете то, что Вы делаете, не делайте этого. У меня был он, происходят в моем локальном + Программа обучения с моим экспериментальным компьютером слишком много раз... - _ -

Что John T. сказал, что звуки, хорошие, хотя, кроме все еще существует риск нахождения пароля в истории оболочки. Что CarlF заявил, что звуки лучше, но если одна команда перестала работать, компьютер, будут все еще работать с полномочиями суперпользователя.

1
ответ дан 07.12.2019, 07:50

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

Пример:
1) Создайте файл:

gedit ~/.easy.install  

2) Вставьте это и сохраните:

./configure && make && echo <password> | sudo -S make install && halt  

3) Сделайте это исполняемым файлом:

sudo chmod +x ~/.easy.install  

4) Изменитесь полномочия файла поэтому только базируются, может считать и отредактировать его:

sudo chmod 700 ~/.easy.install  

5) Выполненный:

~/.easy.install  

Наслаждаться ;-)

2
ответ дан 07.12.2019, 07:50

Теги

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