почему нельзя запустить команду su, sudo находясь под обычным пользователем - это очень неудобно. Но, видимо, чем-то объясняется? Какой в этом резон?
Резон здесь совсем неочевидный для обычного пользователя.
О sudo.
Часто в sudoers используется
ALL=(ALL) ALL
Такое правило приравнивает sudo пользователя к 'su -'
Простой пользователь не знает о тонкостях безопасности.
timestamp в альтах 5 минут. В каких-то других Линукс всё значительно хуже, - временн
ая метка 15 минут. Пока временная метка не истекла, пароль на sudo запрошен не будет.
Буквально это значает, что если кто-то каким-то образом вломился в ваш аккаунт с вашими правами когда временная метка не истекла и вы не сбросили её принудительно, при правиле указанном выше, атакующий получит неограниченный контроль над системой.
Но например в /etc/sudoers вы можете держать временную метку постоянно обнулённой
# Host alias specification
Host_Alias LH = имя_хоста
# User alias specification
User_Alias WHEEL_USERS = %wheel
# Timestamp limit
Defaults:WHEEL_USERS timestamp_timeout = 0
WHEEL_USERS LH=(ALL) ALL
и тогда при выполнении каждой sudo-команды, пароль будет запрашиваться всегда (sudo-команды разрешены только на этом хосте для пользователей входящих в группу wheel), если для этой команды в sudoers не стоит NOPASSWD:
Как делать, держать метку обнулённой или с ограниченным таймаутом, вопрос бесконечно философский.
А я всегда думал, что sudo ждёт пароля рута и более никого. Я ошибался?
Как сказал
sb, по-умолчанию запрашивается пароль пользователя.
Если конечно в sudoers не добавлено правило запрашивать пароль root.
Например для пользователей RPMINST_USERS:
Defaults:RPMINST_USERS rootpw
По умолчанию этого правила в sudoers нет.