Поточні значення по замовчуванням для облікового запису суперкористувача в /etc/passwd
IS root:x:0:0:root:/root:/bin/bash
.
Чому б не встановити його root:x:0:0:root:/root:/usr/sbin/nologin
?
Поточні значення по замовчуванням для облікового запису суперкористувача в /etc/passwd
IS root:x:0:0:root:/root:/bin/bash
.
Чому б не встановити його root:x:0:0:root:/root:/usr/sbin/nologin
?
Відповіді:
Якби це було так, ви могли б запускати команди лише по sudo
одній, але ви не зможете запустити кореневу оболонку. Корінна оболонка зручна у багатьох випадках, наприклад, якщо ви плануєте запускати кілька команд як корінь підряд.
Зокрема, ви не могли бігати sudo -i
, як зазначив AlexP. Від man sudo
:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bash
працює це зробити?
sudo -s
я думаю (коренева оболонка, але не оболонка кореневого входу ). Хоча це добре, але, sudo -s
здається, працює навіть тоді, коли оболонка кореня/usr/sbin/nologin
-i
, -s
, /bin/bash
і так далі, просто дозволяючи білий список команд, дивіться документацію для файлу sudoers. Це настільки дрібнозернисте, що, наприклад, можна дозволити користувачам запускати /etc/init.d/someservice restart
як root, не дозволяючи їм запускатись /etc/init.d/someservice stop
. Але за замовчуванням ubuntu - це просто встановити пароль root
і дозволити користувачам адміністратора робити все з sudo. Можливо, це обгрунтування: а) більше одного користувача адміністратора; б) користувачеві адміністратора не потрібно запам'ятати другий пароль для кореневого облікового запису.
Крім відповіді Судо Альберто Сантіні, є ще одна (набагато краща) відповідь. Якщо оболонку root встановлено на щось, що не є оболонкою, завантаження одного користувача не працює. Існує відновлення sulogin
для таких речей, як неіснуюча оболонка або повністю зламана оболонка, але вона не працюватиме, якщо оболонка виявиться дійсною оболонкою, але насправді не оболонкою.
Ви все ще можете sudo
безпосередньо отримати оболонку, вказавши оболонку, щоб sudo
це навіть не було гарним захистом.
sudo -i
?