はじめに
CentOSでの、ユーザー追加や変更、権限付与についてまとめた。
今回は、基本、sudo権限でコマンド実行する。
「root」ユーザーで実行する場合には、sudo
は不要。
まずは、デフォルト情報の確認
ターミナルを起動して、以下のコマンドで見える。
#作成されるユーザーのデフォルト設定値を確認する #これだけでは、ユーザーは作成されない useradd -D #GROUP=100 #HOME=/home #INACTIVE=-1 #EXPIRE= #SHELL=/bin/bash #SKEL=/etc/skel #CREATE_MAIL_SPOOL=yes #OR #cat /etc/default/useradd
また、デフォルト値の変更もできる。
useradd -D [Option]
あるいは、vim /etc/default/useradd
とかで、ファイルを直接編集しても良い。
ユーザー作成の実行例
実行例(1): デフォルトユーザーの作成
#ユーザー作成 useradd [User name] #パスワード設定 passwd [User name] # => PWを2回入力 #ユーザー [User name] のパスワードを変更。 #新しいパスワード: #新しいパスワードを再入力してください: #passwd: すべての認証トークンが正しく更新できました。
実行例(2): ユーザー作成 + ホームディレクトリのみ作成
#ユーザー作成 sudo useradd -m [User name] #パスワード設定 sudo passwd [User name] #PWを2回入力 #ユーザーフォルダの確認 ls ../
ここで、ターミナルから、作成されたユーザーにログインしても、Homeディレクトリに、perl5しかフォルダ作成されていない・・・
$ ls perl5 $ ls -a . .bash_logout .bashrc .config .local .ssh .. .bash_profile .cache .emacs .mozilla perl5
これの解決法については、一度、GUI画面からログインすれば、 ホームディレクトリ配下に、デスクトップなどの各ディレクトリが作成される。
実行例(2'): ユーザー作成 + ホームディレクトリ作成をしない
#ユーザー作成 + -M オプション sudo useradd -M [User name]
実行例(3): ユーザー作成 + sudo 権限付与
#ユーザー作成 useradd -m [User name] #パスワード設定 passwd [User name] #PWを2回入力
ここまでは、上記と同じ。
次に、wheel
グループに全てのコマンド実行権を与えて、
ユーザーをそのグループに追加する。
#設定ファイルの表示 sudo cat /etc/sudoers #or #sudo visudo #wheelが含まれる行のみ出力 sudo cat /etc/sudoers | grep "wheel" ## Allows people in group wheel to run all commands #%wheel ALL=(ALL) ALL #編集 sudo vim /etc/sudoers
ここで、#%wheel ALL=(ALL) ALL
のコメントアウトを外す。
続いて、wheel
グループに追加する。
#追加 usermod -G wheel [User name] #所属グループの確認 groups [User name]
その他の関連コマンド
「root」になる
#ユーザー変更 su root whoami #root
ユーザーの切り替え
#(1) ユーザー切替後の設定環境を使用する。 su - [User name] #(2) ユーザー切替前の設定環境を使用する。 su [User name]
ユーザー削除 + ホームディレクトリの削除
userdel -r [Your user name]
ユーザー一覧の確認(デフォルトHOMEなら)
cat /etc/passwd | grep "/home/" | sed -e 's/:.*//g'
後日、アカウントにコメントをつける
#コメント付与 usermod -c " ## test ## " [User name] #コメント確認 cat /etc/passwd | grep "[User name]"
passwdのユーザー名のところに、コメントが記載されている。
また、GUIでのログイン時に、ログイン画面にコメントが表示される。
所属グループなどの確認
#idコマンドでの確認 id -a [User name] #uid=1002([User name]) gid=1002([User name]) groups=1002([User name]),10(wheel) #groupsコマンドでの確認 #現在のユーザー groups #OR ユーザー指定 groups [User name]
LINUX/Macの基本コマンドの関連記事
補足
「useradd」と「adduser」
CentOSでは、adduserコマンドは、useraddコマンドのリンクコマンドとなっているようだ。なので、同じコマンド。
ログイン時のメッセージ表示(/etc/motd)
/etc/motd に書き込むと、すべてのユーザーで表示される。
#編集 sudo vim /etc/motd #テキトーに文字列を書き込み #作成後に表示 cat /etc/motd
(sshで)再ログインしてみると、書き込んだ文字列が表示される。
また、ユーザー個別に表示させたい場合には、各ユーザーの.bash_profileに、echoやcatなどの表示コマンドで書き込むと良い。
ユーザー個別にドット絵を表示させる場合
#GitHubからドット絵をダウンロードする wget https://gist.githubusercontent.com/makocchi-git/9775443/raw/6747aa4a65e4293201289899931fe04472c5cfcf/metal-slime.txt #ピクチャに移動 mv metal-slime.txt Pictures #表示 cat ./Pictures/metal-slime.txt
やることとしては、.bash_profile
に、
cat ./Pictures/metal-slime.txt
を1行書き込むだけ。
#書き込み echo 'cat ./Pictures/metal-slime.txt' >> ~/.bash_profile #確認 cat .bash_profile #ログアウト exit
再ログインした際に、スライムが表示される。