2024-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設定があるだけなのでファイルごと削除でもいいが、残しておいても特に問題はないかと。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
オープンソースリップシンクエンジンSadTalkerをDebianで動かす
ファイアウォール内部のOpenAPI/FastAPIのdocsを外部からProxyPassで呼ぶ
Debian 12でsshからshutdown -h nowしても電源が切れない場合
【Windows&Mac】アプリのフルスクリーンを解除する方法
Debian 12でtsコマンドが見つからないcommand not found
Debian 12でsyslogやauth.logが出力されない場合
Debian 12で固定IPアドレスを使う設定をする
Debian 12 bookwormでNVIDIA RTX4060Ti-OC16GBを動かす
【Debian】apt updateでCD-ROMがどうのこうの言われエラーになる場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
GitLabにHTTPS経由でリポジトリをクローン&読み書きを行う
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Intel Macbook2020にBootCampで入れたWindows11 Pro 23H2のBluetoothを復活させる
【PHP】Mail/mimeDecodeを使ってメールの中身を解析(準備編)
【ひかり電話+VoIPアダプタ】LANしか通ってない環境でアナログ電話とFAXを使う
Windows11のコマンドプロンプトでテキストをコピーする