ユーザ

 アカウント
ユーザーの管理単位。システム管理者(root)と一般ユーザーに分かれる
 システムアカウント
システム内部で特定のアプリケーションを動かす専用のアカウント
どんなユーザがいるのか確認

$ cat /etc/passwd | grep vagrant

vagrant:x:500:500:vagrant : /home/vagrant : /bin/bash

新規ユーザーを追加(サブグループ:vagrant)

# useradd -G vagrant hoge

# id -a hoge

uid=501(hoge) gid=501(hoge) 所属グループ=501(hoge),500(vagrant)

グループ

 グループ
同一グループのユーザーは、そのグループ所有のファイルに対し、読み込み、書き込み、実行が可能
自分の所属するグループの確認

$ groups

vagrant

グループ情報の確認

$ cat /etc/group | grep ^vagrant

vagrant:x:500:vagrant,hoge

 グループの種類
ユーザーの基本のグループの事をプライマリグループとか、イニシャルグループといい、
それ以外で所属しているグループの事を、サブグループという
あるユーザーがファイル等を作成した際のグループは、プライマリグループになる

$ whoami

hoge

$ id

uid=501(hoge) gid=501(hoge) 所属グループ=501(hoge),500(vagrant)

hogeがプライマリグループ。vagrantはサブグループ

$ touch test.txt

$ ls -l

-rw-rw-r-- 1 hoge hoge 0 3月 20 15:21 2017 test.txt

 

所属している今と違うサブグループにログインした後にファイルを作成すると、

そのグループはログインしたサブグループになる

$ groups

hoge vagrant

$ newgrp vagrant  グループにログイン

$ id

uid=501(hoge) gid=500(vagrant) 所属グループ=500(vagrant),501(hoge)

$ touch test2.txt

$ ls -l

-rw-r--r-- 1 hoge vagrant 0 3月 20 15:27 2017 test2.txt

ユーザーの切り替え

 su - と、su の違い
「-」をつけた場合は、現在のシェルの環境変数をすべて解除し、指定したユーザーとして
シェルが起動される。そして、カレントディレクトリをそのユーザーホームディレクトリとする
「-」をつけない場合は、現在の環境変数が引き継がれる(USER, HOME, LOGNAME以外)
別のユーザーに切り替える

$ sudo su - hoge

$ whoami

hoge

$ echo $HOME

/home/hoge

 sudoとsuで聞かれるパスワードは違う
sudoは「他のユーザとしてコマンドを実行する」ためのコマンド、
suは「他のユーザになる」ためのコマンド
別のユーザーに切り替える際、パスワードを聞かれたら

$ sudo su - hoge

パスワード: sudoパスワードを入力する

$ su - hoge

パスワード: hogeユーザのパスワードを入力する


基本こちらを参考にさせて頂きました

参考 Linux 基礎知識

Linuxのディストリビューションや主なディレクトリ

参考 Linuxをはじめから

グループ

参考 びぎねっと

sudoとsuで聞かれるパスワードは違う

参考 sudoとsuで聞かれるパスワードは違う

スワップ領域

参考 Linuxキーワード - スワップ領域:ITpro