LoginSignup
4
5

More than 5 years have passed since last update.

Linux ユーザ管理 覚書

Last updated at Posted at 2015-12-09

UID(ユーザ ID)

  • root: 0
  • 一般ユーザ: 1~

一般ユーザ

  • 個人ユーザ(UID: 1~499): OS にログインして作業するユーザ
  • システムユーザ(UID: 500~): アプリケーションの実行プロセス

GID(グループ ID)

  • プライマリグループ
  • セカンダリグループ

パーミッション

ファイル / ディレクトリには、それを作成したユーザの UID と プライマリグループの GID が
オーナー情報として設定される。
一般的には所有者(ユーザ)へ rwx 、所有グループへ r-x 、その他ユーザへ r-- が設定される。
ファイル / ディレクトリのアクセス権限は多くの場合、
どのユーザ(UID)でファイル / ディレクトリへアクセスしようとしているかで決まる。

  • r: 読み取り権限
  • w: 書き込み権限
  • x: 実行権限
  • -: 権限がないことを表す。

特殊なパーミッション

s

  • setuid: ファイルを実行すると、実行プロセスのオーナーがファイルオーナーと同じになる。
  • setgid: ディレクトリ内にファイル / ディレクトリを作成すると、 所有グループが親ディレクトリと同じ GID になる。 特定グループに所属するユーザ同士でファイルを共有する際に使用する。

t

  • sticky: ディレクトリ内のファイル / ディレクトリの削除 / リネームは、 その所有者と root ユーザのみに許可される。 万人が読み書き可能だが、削除やリネームは自由にできない共有ファイルを作ることができる。

コマンド

useradd, adduser

新規ユーザを作成する。
OS によってコマンド名が違うっぽい。(未検証)

userdel

既存のユーザを削除する。

usermod

既存ユーザの情報を変更する。(所属グループの変更等)

id [ユーザ名]

指定したユーザ名に対応する UID と所属グループ(GID)の情報を表示する。
ユーザ名を指定しない場合、コマンドを実行したユーザ自身の情報が表示される。

groupadd

新規グループを作成する。

groupdel

既存のグループを削除する。

passwd <ユーザ名>

ログインパスワードを設定する。

chage

パスワードの有効期限を設定する。

mkpasswd, pwgen

ランダムなパスワードを生成する。 OS によって使用できるコマンドが違う?
mkpasswd は CentOS、 pwgen は MacOS と Ubuntu で使用できるらしい。

mkpasswd については @IT を参照。
なお JM Project で検索すると
同じ名前の違う機能を持つコマンドがヒットする。

chmod

ファイル / ディレクトリのパーミッションを変更する。

chown

ファイル / ディレクトリの所有者 / 所有グループを変更する。

umask

ファイル / ディレクトリの新規作成時に適用するパーミッションを設定する。

chsh

ログインシェルを変更する。
/etc/shells に記載されているシェルにのみ変更することができる。

設定ファイル

/etc/skel

ユーザ作成時にホームディレクトリへコピーするファイル群を定義する。

/etc/passwd

UID をはじめとする基本情報が記録される。

/etc/shadow

暗号化されたパスワードが記録される。

/etc/group

セカンダリグループのユーザ名が記録される。

/etc/shells

使用可能なシェル名が記録されている。

4
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5