私は、VPSプロバイダー(DigitalOcean、Vulturなど)がサービスに展開するときに私に提供するイメージをローカルで複製しようとしています。私の知る限り、それらの基本イメージはかなりバニラなので、公式のubuntuサーバーのイメージはVirtual Boxで起動するのにぴったりで、それで終わりです。問題は、公式イメージが私にSudoユーザーの作成を強制することです。
これは通常の使用では素晴らしいことですが、VPSでインスタンスをスピンするときは、ユーザーとしてroot
のみで始めています。公式のISOイメージでSudoユーザーなしでインストールを行う方法はありますか? (私はVagrant Boxにオープンしています、それもあります!)
ご注意ください:
root
ユーザーで実行するのは悪いことを知っています。ローカルでのみ実行しています。「科学のため」です。Sudo su
できることを知っていますが、これは私が望むものではありません。繰り返しますが、VPSプロバイダーと一緒に提供してくれるようにしたいと思います...しかし、セキュリティに関する懸念に感謝します;-)
これは、ユーザーByte Commanderで説明されているように、rootを有効にしてユーザーを削除することにより、実行する方法の段階的な例です。
USERNAME
としてインストールにsshSudo su
がルートになるpasswd
に続いて、rootユーザーにパスワードを与えるパスワードnano /etc/ssh/sshd_config
次の編集でrootユーザーsshログインを許可します#PermitRootLogin prohibit-password
を見つけて、変更せずに、その下に次の新しい行を追加しますPermitRootLogin yes
Ctrl-X
、y
、Enter
は、変更を保存してnanoを終了しますservice ssh reload
はsshデーモン構成を再ロードしますこの時点で:
cut -d: -f1 /etc/passwd
は、最後のエントリとしてUSERNAME
をリストする必要があります。cut -d: -f1 /etc/group
は、最後のエントリとしてUSERNAME
をリストする必要があります。id
(USERNAME
として実行した場合)はuid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(Sudo),30(dip),46(plugdev),108(lxd)
を返す必要がありますユーザーUSERNAME
を削除します。
deluser --remove-home USERNAME
は、インストール中に作成されたユーザーを削除します。警告Warning: group 'USERNAME' has no more members.
が表示されますが、このグループはコマンドが終了する前に自動的に削除されます。この時点で:
USERNAME
という名前のユーザーをcut -d: -f1 /etc/passwd
にリストしないでください。USERNAME
という名前のグループは、cut -d: -f1 /etc/group
にリストされるべきではありません。root
としてssh経由でログインすることができます。いくつかのものがまだUSERNAME
を参照している場合もありますが、この時点でのシステムの方法は、VPSが提供するものに比較的近く、Ansible
または同様。
Kickstart-solutionは正しいものである必要がありますが、この方がアーカイブしやすく、ほぼ同じ機能を提供できます。