Как позволить аутентификацию с 'sudo' использование альтернативного пароля?

В первую очередь, сеть сохраняется даже когда Вы arch-chroot. Но если Вы все еще хотите ответ, просто используйте pacman --root /wherever/your/install/is/mounted.

См. также man pacstrap.

3
30.09.2014, 18:25
5 ответов

Вы могли связать аутентификация sudo со знанием секретного ключа, управляемого ssh-агент . Это может быть достигнуто через PAM и модуль pam_ssh_agent_auth . Можно генерировать отдельную пару ключей для использования исключительно для аутентификация sudo . Пароль будет паролем, используемым для шифрования закрытого ключа.

Для конфигурирования модуль pam_ssh_agent_auth добавляет следующее к /etc/pam.d/sudo прежде любой другой , автор или включает директивы:

auth       sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys

необходимо будет также сказать sudo не отбрасывать переменная среды SSH_AUTH_SOCK путем добавления следующего к /etc/sudoers (через visudo):

Defaults    env_keep += "SSH_AUTH_SOCK"

Теперь добавляют общедоступную часть ключа, вы хотите действовать как аутентификационный маркер к /etc/security/authorized_keys. Вы, вероятно, также хотели бы добавить , переключатель-t к ssh-добавляет с подходящим коротким временем жизни при добавлении ключа, чтобы иметь , ssh-агент подражает значению по умолчанию поведение sudo запроса подтверждения пароля, если определенное время передало, так как это было в последний раз введено, или даже используйте переключатель-c для инициирования подтверждения пароля каждый раз, когда ключ используется для аутентификации.

Примечание, которое значение по умолчанию в Ubuntu должно использовать Брелок для ключей GNOME для управления ключами SSH, которое насколько я знаю , в настоящее время не позволяет ключевому тайм-ауту быть установленным . Можно отключить управление ключами SSH в Брелоке для ключей GNOME полностью путем добавления следующего к ~/.config/autostart/gnome-keyring-ssh.desktop :

[Desktop Entry]
Type=Application
Name=SSH Key Agent
Comment=GNOME Keyring: SSH Agent
Exec=/usr/bin/gnome-keyring-daemon --start --components=ssh
OnlyShowIn=GNOME;Unity;MATE;
X-GNOME-Autostart-Phase=Initialization
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=true
X-GNOME-Autostart-enabled=false
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-keyring
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.1
NoDisplay=true
X-Ubuntu-Gettext-Domain=gnome-keyring

, который переопределяет /etc/xdg/autostart/gnome-keyring-ssh.desktop , при этом основное отличие является строкой:

X-GNOME-Autostart-enabled=false
5
27.01.2020, 21:12

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

Затем вы также можете повторно запускать более одного раза необходимые команды, выполнив поиск с помощью [STRG] + R , например. обновление:

aptitude update && aptitude upgrade && aptitude dist-upgrade

Если это разумно или практично для ваших целей, вы можете использовать для этого tty. Тогда это легко найти, если у вас много программ запущено в * DM.

0
27.01.2020, 21:12

Почему бы вам просто не расслабиться, вставляя пароль, изменяя таким образом поведение sudo:

Это было взято со страницы ChromiumOS Tips and Tricks Page: Making Sudo A Little More Permissive

cd /tmp
cat > ./sudo_editor <<EOF
#!/bin/sh
echo Defaults \!tty_tickets > \$1          # Entering your password in one shell affects all shells 
echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes
EOF
chmod +x ./sudo_editor 
sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements

Если вы не знаете, что было сделано, tty_tickets теперь ложный, что означает, что вам не нужно аутентифицироваться на каждом tty. Timestamp_timeout устанавливается на каждые 3 часа, что означает, что вы вводите пароль раз в три часа. Между моментом ввода и трехчасовым лимитом, вводя sudo некоторую команду , пароль не будет запрашиваться до тех пор, пока лимит не истечет.

relax_requirement теперь можно использовать для управления sudo. Доступные опции находятся в Sudoer's Manual. Ищите раздел SUDOERS OPTIONS, выделенный жирным шрифтом. Кроме описанных мною вариантов есть еще много. Это не требует внесения изменений в PAM и т.д. и работает на любой системе с PAM или без него.

1
27.01.2020, 21:12

Вы можете редактировать файл /etc/sudoers с помощью выбранного вами редактора или просто выполнить visudo и добавить строку, позволяющую конкретному пользователю использовать команду sudo без пароля. Что-то вроде:

user ALL = NOPASSWD : ALL

0
27.01.2020, 21:12

Если возможно включить учетную запись root в вашей системе Ubuntu, вы можете настроить sudo на запрос пароля root вместо пароля вызывающего пользователя, добавив следующее в / etc / sudoers (с использованием visudo ):

Defaults rootpw

Ubuntu по умолчанию отключает учетную запись root, блокируя ее пароль . Чтобы включить его, просто установите новый пароль для root :

$ sudo passwd root

Даже если вы хотите включить аутентификацию с паролем root для sudo , вы можете отключить вход в систему root на локальных консольных устройствах. очистив (или закомментировав) все в / etc / securetty . Однако пустой файл / etc / securetty не предотвращает удаленный вход пользователя root с помощью OpenSSH или других средств, на которые не влияет pam_securetty.so (например, su , sudo , ssh , scp , sftp ). OpenSSH можно специально настроить для предотвращения входа в систему root через раздел PermitRootLogin no в / etc / ssh / sshd_config , но если вы решите сделать это, вы должны знать о любые другие эффекты , которые могут иметь отношение к вашему случаю.

1
27.01.2020, 21:12

Теги

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