【Linuxコマンド】よく使うコマンド(3)

Linux環境で使用するコマンドの一覧です。
主にユーザ・アカウントに対する操作をまとめています。

rootに切り替え
$ su -


特定のユーザに切り替え
$ su - ユーザ名

「-」 (ハイフン) を付与しない場合、ユーザーの操作環境(※)を引き継ぐ。
(※)シェルの種類や環境変数、ホームディレクトリ等

root権限で実行
$ sudo -s

sudoの設定ファイルは絶対に直接編集しない事。必ず visudo コマンドで編集する。

sudo設定ファイル編集
$ visudo

下記のように修正

root ALL=(ALL) ALL
↓
root ALL=(ALL) ALL
%任意のユーザ名 ALL=(ALL) ALL

「%任意のユーザ名」の行を追加する事で、任意のユーザにsudoコマンドの実行を許可できる。

ユーザ確認
$ cat /etc/passwd

<例>
user:x:10000:10001:comment:/home/user/:/bin/bash
 user:ユーザ名
 x:「x」 という文字か、暗号化されたパスワード。「x」 はシャドウパスワード。
 10000:ユーザID
 10001:グループID
 comment: コメント (未入力の場合は何も表示されない)
 /home/user:ホームディレクト
 /bin/bash:ログインシェル名する

グループ確認
$ cat /etc/group

<例>
user:x:10000:user1
 user:グループ名
 x:「x」 という文字か、暗号化されたパスワード。「x」 はシャドウパスワード。
 10000:グループID (GID)
 user1:サブグループとして所属しているユーザーアカウントのリスト。複数の場合はカンマ区切り。

ユーザ作成
$ useradd -d /home/ユーザ名 -m ユーザ名

※ユーザ作成時にグループを設定する場合は、事前にグループを作成しておくこと。

ユーザ追加
$ useradd -u 550 -g グループ名 -d /home/ユーザ名 ユーザ名

 -d:ホームディレクトリを /home/ユーザ名 に設定
 -m:アカウントのホームディレクトリを同時に作成する
 -u:550 ユーザIDを550番で設定
 -g:グループ名 グループ名またはグループIDを設定
 -d:/home/newuser ホームディレクトリを/home/newuserに設定
 -m:アカウントのホームディレクトリを同時に作成する

ログインを許可しないユーザの追加
$ useradd -s /sbin/nologin ユーザ名


削除
$ userdel -r ユーザ名

 -r ユーザのホームディレクトリ内のファイルをホームディレクトリごと削除。
 ユーザのメールスプールも消去される。

パスワード変更
$ passwd ユーザ名


プライマリグループの設定
$ usermod -g グループ名 ユーザ名


サブグループの設定
$ usermod -G グループ名 ユーザ名
  • 既にサブグループに所属している場合、それらのグループ名を記述せずに上記のコマンドを実行すると、所属していたグループからは外されてしまう点に注意。
  • 複数指定の場合は 「,」 で区切る。

サブグループから外す
$ usermod -G '' ユーザ名


ユーザのホームディレクトリを変更
$ usermod -d /home ユーザ名


ユーザの名称を変更
$ usermod -l 新ユーザ名 現ユーザ名


ユーザのログイン履歴を表示
$ last

 -i:リモートホストからの接続情報を表示する場合、IPアドレスで表示。

ユーザ毎に最後にログインした日時を表示
$ lastlog


不正なログイン(失敗したログイン)を表示
$ lastb

 -i:リモートホストからの接続情報を表示する場合、IPアドレスで表示。

現在ログインしているユーザを表示
$ who