Sudo запрашивает пароль даже после `sudo su `без пароля

Удивительно, но со встроенной -опцией rsync это невозможно!

Это может сработать:

rsync -an --info=name src dest \
    | rsync -an --info=name --checksum --files-from - src dest

Пояснение:

Первая команда rsync использует режим rsync по умолчанию для проверки времени и размера. Он выводит любой каталог или имя файла с другим временем или размером. Из-за флага -n файлы не передаются.

Вторая команда rsync берет список файлов с измененным временем или размером из первого rsync, а затем снова запускает rsync только для тех файлов с аргументом контрольной суммы --.

Вторая команда имеет -n для пробного режима, поэтому будут напечатаны только имена файлов. Удалите -n из второй команды, чтобы действительно передать файлы.

-1
10.04.2020, 16:12
2 ответа

Когда вы запускаете sudo su usernameили, что более разумно в большинстве случаев, sudo -u username, все, что вы делаете, это запускаете новую оболочку как username. Вы не root, вы - имя пользователя, поэтому для того, чтобы теперь запустить команду sudoот имени пользователя, вам потребуется пароль имени пользователя.

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

1
19.03.2021, 02:30

Если ваш пользователь уже добавлен в файл sudoers, выполните

1 )sudo su, он запросит пароль, вы даете свой пароль пользователя, затем он перейдет к вашей корневой учетной записи, оттуда вы можете запустить «apt...»

2 )sudo apt..., он запросит ваш пароль, дайте ваш пароль пользователя, затем он выполнит команду.

-1
19.03.2021, 02:30

Теги

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