2025-04-20


AWSインスタンス作成時の初期ユーザ名・グループ名はDebianの場合admin/adminであるが、このままではまずいので変更する。目的は、
変更前:
ログインID:admin
ニックネーム:Debian
グループID:admin
ホームディレクトリ:/home/admin
を、
変更後:
ログインID:hogeuser
ニックネーム:Hoge User
グループID:hogegroup
ホームディレクトリ:/home/hogeuser
とすることとする。
しかしながら、usermodで単純に変更しようとしても、「今ログイン中のユーザ名は変更できない」とエラー終了してしまう。
よって、sudo権限を持つテンポラリユーザーを作成し、そのユーザー名でログインして、そこからadminの情報を変更する方法を取る。
1、sudoの設定
sudoグループはNOPASSWDとしておく(当方環境の場合)。
sudo -s export EDITOR=vi visudo /etc/sudoers #Defaults env_reset Defaults env_keep += "PATH EDITOR" Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" %sudo ALL=(ALL:ALL) NOPASSWD:ALL
2、テンポラリsudoユーザー(tmpuser)の作成とSSHログインし直し
sudo -s useradd -G admin tmpuser usermod -aG sudo tmpuser cd /home cp -Rp admin tmpuser chown -Rh tmpuser:admin tmpuser
いったんマシンからログアウトし、今度はtmpuserでSSHし直す
ssh tmpuser@IPADDR -i <ssh private key> </ssh>
3、テンポラリtmpuserがsudoでrootになってadminをhogeuserに変更する
tmpuserでSSHログインして、他のユーザ(admin)がマシンにログインしていなければ、usermodが可能になる。
sudo -s usermod -l hogeuser admin groupmod -n hogegroup admin cd /home mv admin hogeuser usermod -d /home/hogeuser -c "Hoge User" hogeuser
これで、最初に記した「変更後」の情報にadminが書き換わったはずである。
cat /etc/passwd cat /etc/group
で確認して、マシンからログアウトし、今度はhogeuserでSSHログインする。
ssh hogeuser@IPADDR -i <ssh private key> </ssh>
4、テンポラリtmpuserを削除して完了
hogeuserでSSHログインでき、かつsudo -sでパスワード無しでrootになれることが確認できたら、tmpuserは削除できる。
sudo -s userdel -r tmpuser
あと元々あったsudoers.d/90-cloud-init-usersもadmin用NOPASSWD設定があるだけなのでファイルごと削除でもいいが、残しておいても特に問題はないかと。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【2】
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【1】
Raspberry PI 2 bookworm 32bitでCanon IP4300プリンタ印刷する
【VMware】Apple silicon M2 MacでWindows11を無償で動かす
A4用紙タテ2ページ分をA3用紙ヨコ1ページに印刷するには
【Android】apkのインストールができたのにアプリ一覧に出ない場合
【Node.js】chrono-nodeを使用して自然言語を日付に変換する
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使う
CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
CUDA13環境下でGPU使用版のPyTorchを導入する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
LinuxからWindowsの共有フォルダをマウントする
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
Windows11でMacのキーボードを使うには
【Linux】viエディタが文字化けする場合の対処法