Всегда ли мне следует устанавливать root-оболочку в /usr/bin/false?

Всегда ли мне следует устанавливать root-оболочку в /usr/bin/false?

Чтобы предотвратить злоупотребление учетной записью root (на моем компьютере macOS, однопользовательском), следует ли мне всегда устанавливать оболочку rootв положение /usr/bin/false(или/sbin/nologin)?

Например, следует ли мне всегда:

sudo /usr/bin/dscl . -create /Users/root UserShell /usr/bin/false 

или есть общие причины не делать этого (кромеочевидно и предотвратимо)?

решение1

Нет, не стоит, потому что тогда, если вынуждатьсяиспользовать rootучетную запись (как это иногда бывает, даже на компьютерах Mac) для устранения неполадок или восстановления вы не можете.

ТыдолженОднако установите пароль root:

$ sudo passwd root

решение2

Если вы установите оболочку root, как вы описали, вы не сможете войти или su -получить root. Однако вы все равно можете использовать sudoили даже su(без минуса).

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

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

Если нет, то встает вопрос, какой смертью вы хотите умереть. Решите для себя, что более вероятно — кто-то злоупотребляет вашим аккаунтом root или ваша система работает со сбоями до такой степени, что вам понадобится этот аккаунт root.

решение3

Повседневные операции

Вам не нужно rootвключать учетную запись для выполнения повседневных операций на macOS. И даже без включенной учетной записи root и ее оболочки /usr/bin/falseвы все равно можете использовать sudo(и для rootоболочек sudo -s) без проблем.

однопользовательский режим

В однопользовательском режиме для аутентификации входа используется /private/etc/passwd, а не Open Directory:

pse@Mithos:~$ grep ^root: /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

но

pse@Mithos:~$ sudo dscl . -read /Users/root UserShell
UserShell: /usr/bin/false

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

Связанный контент