rootアカウント(私のmacOS、シングルユーザー)コンピュータの乱用を防ぐために、常にシェルをroot
(/usr/bin/false
または/sbin/nologin
)?
たとえば、私はいつも次のことを行う必要があります。
sudo /usr/bin/dscl . -create /Users/root UserShell /usr/bin/false
それともこれをしない一般的な理由はありますか?明白で避けられるもの)?
答え1
いいえ、そうしないでください。なぜなら必要root
トラブルシューティングや修復にはそのアカウントを使用できません(Macでも時々発生します)。
あなたしなければならないただし、ルートパスワードを設定してください。
$ sudo passwd root
答え2
説明されているようにルートシェルを設定すると、ログインしたりルートにしたりすることはできませんsu -
。ただし、まだマイナス記号なしでsudo
またはEvenを使用します。su
ルートログインを無効にするのは一般的に良いセキュリティ対策です。ただし、システムエラーが発生した場合は、コンピュータにアクセスする他の方法があることを確認する必要があります。システムが正常に動作していない場合、rootログインは機能し続けますが、通常のアカウントは機能しません(たとえば、ほとんどのUnixシステムでは、rootホームディレクトリが通常のユーザホームディレクトリではなくシステムドライブにある理由)。 。
それでもシングルユーザーモードで起動できますが、現在のバージョンのMacOSでは100%確信できないため、確認する必要があります。ログインしていないシェルを使用してもこれを行うことができる場合は、問題を解決する方法であり、安全にルートログインを無効にすることができます。
そうでなければどうやって死にたいかという問題になります。何が起こる可能性が高いかを自分で決めてください。誰かがrootアカウントを誤用するか、システムが誤動作してrootアカウントが必要です。
答え3
日常業務
root
macOSで日常的な作業を行うためにこのアカウントを有効にする必要はありません。ルートアカウントとそのシェル設定が有効になっていない場合でも、/usr/bin/false
問題なくそのアカウントsudo
(およびroot
シェル)を使用できます。sudo -s
シングルユーザーモード
シングルユーザーモードでは、ログイン認証にOpen Directoryの代わりに/private/etc/passwdを使用します。
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
したがって、シングルユーザーモードに悪影響はありません。