LinuxにGitHubの認証情報でユーザーを追加するスクリプト
全国300億のLinuxユーザーのみなさんこんにちは。
今回のテーマはクラウドで自動化フル活用の先進文明な人にはあまり関係のない話、ユーザー管理です。
ちょっとした作業用サーバとかで複数人で使いたいときとか、ユーザー管理が面倒ですね。
ユーザー名とパスワード決めて公開鍵受け取ってとか、やり取りする情報が多すぎてストレスフルです。
そこで、本記事ではLinuxをGitHubのユーザー名と秘密鍵でログインできるようにしました。
試したLinuxディストリビューションはUbuntu, AmazonLinux, AmazonLinux2, CentOS7 です。
セットアップ
1. operator グループの追加
operator グループが無ければ追加します(ubuntuなどはもともとある)
sudo groupadd operator
2. sudoers.d への記述の追加
ファイル
/etc/sudoers.d/operator
を作成し、以下の様な内容にします。
%operator ALL = NOPASSWD: ALL # User rules for operator group %operator ALL=(ALL) NOPASSWD:ALL
3. ユーザー作成バッチの作成
ファイル
/root/create_user.sh
を作成し、以下の内容にします。
#!/bin/sh if [ $# -ne 1 ]; then echo "USAGE: "`basename $0`" USERNAME" 1>&2 exit 1 fi USER=$1 useradd -m -s /bin/bash -g operator --password $USER $USER mkdir /home/${USER}/.ssh chmod 700 /home/${USER}/.ssh touch /home/${USER}/.ssh/authorized_keys chmod 600 /home/${USER}/.ssh/authorized_keys curl https://github.com/${USER}.keys > /home/${USER}/.ssh/authorized_keys chown -R ${USER}:operator /home/${USER}/.ssh
実行権限を与えます。
sudo chmod +x /root/create_user.sh
4. できあがり
完成です!早速使ってみましょう。
使い方
追加したいユーザーのGitHubのユーザー名を調べて、 sudo持ちのユーザーで以下コマンドを実行します。
sudo /root/create_user.sh <GitHubユーザー名>
これでユーザー作成が完了したので自分のGitHubユーザーでログインしましょう!
では、良い鯖缶ライフを。
Gistにもあげてます
Githubのユーザー名と鍵でLinuxユーザーを追加する · GitHub