私は読んでいます。このチュートリアル、root権限を持つ新しいユーザーを作成し、CentOS 7サーバーがSSH経由でrootアクセスをブロックしようとします。問題は、新しいユーザーがルート操作(たとえば)を実行するのがブロックされることですnano /etc/sudoers
。また、ルートログインのブロックを削除できないようです。したがって、既存のオープンルートセッションは、終了するまでルート機能への唯一のアクセスです。 新しいユーザーにroot権限を正常に追加する方法は?ルートログインを正常に有効/無効にする方法は?
これが私が今まで持っているものです:
には/etc/sudoers
次のものがあります。
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
newusername ALL=(ALL) ALL
うまくいかなかったので /etc/sudoers
修正しました。/usr/sbin/visudo
これは、root権限を持つ新しいユーザー名を取得できるまでrootログインをリセットしたいからです/etc/ssh/sshd_config
。PermitRootLogin yes
また、ファイルの最後の行はAllowUsers newusername
。
その後、エラーが発生したためsystemctl reload sshd.service
に入力しました。 /etc/init.d/sshd reload
CentOS 7
問題は、現在権限がnewusername
ないため、root
ログインもできないことですroot
。したがって、既存の接続がroot
マシンを制御する唯一の方法です。
編集#1
新しいユーザーに権限を付与できますが、すでにログインしていても、sudo
まだgpasswd -a newusername wheel
rootとしてログインすることはできません。 PermitRootLogin yes
/etc/ssh/sshd_config
CentOS 7
の設定をどのように尊重できますか/etc/ssh/sshd_config
?ルートログインを自由にオン/オフでき、設定が実際に機能するようにする必要があります。
答え1
CentoOSがユーザーにroot(すべての)権限を付与する方法は、ユーザーをwheel
グループに配置することです。これは、ユーザーアカウントを作成し、そのユーザーを管理者として指定するボックスを選択したときに発生します。
ユーザーをグループに入れることができます。
sudo usermod -aG wheel username
root
使用できないパスワードを設定してアカウントをロックするなど、アカウントログインを無効にします。
sudo passwd -l username
答え2
私はこのチュートリアルに従ってroot権限を持つ新しいユーザーを作成し、CentOS 7サーバーでSSH経由でrootアクセスをブロックしようとしています。問題は、新しいユーザーがnano /etc/sudoersなどのルート操作を実行できないようにブロックされることです。また、ルートログインのブロックを削除できないようです。したがって、既存のオープンルートセッションは、終了するまでルート機能への唯一のアクセスです。新しいユーザーにroot権限を正常に追加する方法は?ルートログインを正常に有効/無効にする方法は?
- 厳密に言えば、実際の目的は、
sudo
特定のユーザーまたはグループに対して特定のコマンドの実行を構成することです。一部のディストリビューションでは、デプロイと構成方法がsudo
少し誤解を招く可能性があります。これは、ルートになるにはユーザーのパスワードを入力する必要があるためsu -
ですsudo
。根といいえユーザーのパスワードです。だからこれを使うことができます。 visudo
直接編集以外の方法を使用しないでください/etc/sudoers
。そうしないと、権限を再度変更するまで認証が完全に中断される可能性があります0400
(ログアウトした後にある種の回復システムを使用しない限り、これはできません)。 (使用されているエディタはvisudo
環境変数で制御できます。1つのオプションはVISUAL
一緒に使用することです。)nano
VISUAL=nano visudo
- 新しいユーザーはすでにrootになることができますが(1回目のエントリ)、そのユーザーがsudoを介してrootになるようにするには、そのユーザーを正しいグループに追加するだけです。 CentOS 7では、伝統的なグループ名は次のとおりです。ホイールこのグループのメンバーになるために使用されます。根詳細については、sudo:を使用してください
usermod -a -G wheel codemedic
。man usermod
設定ファイルを読んでグループ名を確認できますcat /etc/sudoers
。 - アクセス不可根SSHを介して編集し、
/etc/ssh/sshd_config
コメントのないインスタンスが1つだけ使用可能であることを確認し、PermitRootLogin
その値を設定します。いいえ:PermitRootLogin no
。ファイルを保存してSecure Shellデーモンを再起動しますsystemctl restart sshd
。
/usr/sbin/visudoが機能していないので、/etc/sudoersを編集しました。
なぜvisudo
動作しないのですか?
答え3
このステップは私にとって効果的でした。
ユーザーを追加:
useradd user
パスワードを追加:
passwd user
/etc/sudoers
次のコマンドを使用して、ファイルに次の行を追加しますvisudo
。
user ALL=(ALL) ALL
あるいは、パスワードを入力せずにルートにすることもできます。
ALL ALL=(ALL) NOPASSWD:ALL
その後、そのユーザーに切り替えます。
su user
そしてroot権限を要求します。
sudo su -
新しいユーザーのパスワードを入力してください。
[sudo] password for user: