Linux コマンド:グループ・ユーザー・権限

ファイル、ディレクトリのグループ、権限

ls -l
バッチコマンド(Linux/DOS/PowerShell)」参照

ID

※アカウント、所属グループを表示
$ id

uid=1000(ユーザー名) gid=1000(メイングループ名),1001(サブグループ名1),1002(サブグループ名2),・・・

グループ

メイングループ
ユーザが唯一所属するグループ

サブグループ
ユーザがメイングループの他に所属するグループ。複数〇

コマンド 内容
groups グループを表示
groupadd グループ追加
groupdel グループ削除
groupmod グループ変更

groups

所属グループを表示

グループ名1 グループ名2 ・・・

groupadd

グループ追加
# groupadd (グループ名)

groupdel

グループ削除
# groupdel (グループ名)

groupmod

グループ情報変更
# groupmod (グループ名)

グループ情報(一覧)

/etc/group(テキストファイル)

・グループ名
・グループID(GID)
・メンバーリスト

ユーザー情報(一覧)

/etc/passwd(テキストファイル)

・ユーザ名(ログイン名)
・(暗号化パスワード)
 Xと記載される
・ユーザ番号(UID)
・グループ番号(GID)
・コメントフィールド(名前など)
・ホームディレクトリーのパス
・ログイン・シェル

ユーザー

コマンド 内容
users ログインユーザーを表示
useradd ユーザー追加
userdel ユーザー削除
passwd パスワード変更
usermod 所属グループ変更

users

ログインユーザーを表示
# users

useradd

ユーザー追加
# useradd (ユーザー名)

userdel

ユーザー削除
# userdel (ユーザー名)

passwd

パスワード変更
# passwd (ユーザー名)

usermod

所属グループ変更
# usermod [オプション] (ユーザー名)

メイングループ変更
# usermod -g (グループ名) (ユーザー名)

サブグループ変更(置き換え)
# usermod -G (サブグループ名1),(サブグループ名2),(サブグループ名3) (ユーザー名)

サブグループ追加
# usermod -aG (サブグループ名) (ユーザー名)

gpasswd

所属グループ変更

機能 オプション
ユーザ追加 -a $ gpasswd -a (ユーザ名) (グループ名)
ユーザ削除 -d $ gpasswd -d (ユーザ名) (グループ名)
所属ユーザ指定 -M $ gpasswd -M (ユーザ名1),(ユーザ名2),(ユーザ名3),・・・ (グループ名)

VirtualBoxにおける共有フォルダ管理グループへのユーザ追加
# sudo gpasswd -a (ユーザ名) vboxsf

su

ユーザー切り替え
(指定したユーザーでシェルを再起動)
$ su – ユーザー名
※ubuntu専用
初期設定でrootアカウントにはパスワードが設定されていないのでrootにユーザー変更できない
$ su – ($ su – root と同じ)
は×
一時的にrootユーザーに変更
$ sudo su –
$ sudo su – root

sudo

指定したユーザーでコマンドを実行する

$ sudo -u ユーザー名 pwd
ユーザー未指定の場合はrootで実行
$ sudo pwd

管理者のみアクセス可能なディレクトリでの操作
sudo sh -c "cd ~; ls;"
sudo sh -c "cd ~; cat ~;"
-c プロセスを新規に生成する

権限

chown

所有者変更
# chown (所有者) (ファイル名)
# chown test test.txt

ディレクトリ内の全ファイルの所有者を変更
# chown -R (所有者) (ディレクトリ名)
# chown -R test test.txt

グループ、所有者を同時に設定
# chown -R (所有者:グループ) (ファイル/ディレクトリ名)
# chown test:test test.txt

chmod

数字による指定

権限変更
# chmod (読取権限)(書込権限)(実行権限) (ファイル名)
# chmod (読取権限)(書込権限)(実行権限) (ディレクトリ名)
# chmod 777 test.txt

 Owner   Group   Other 
読/書/実 読/書/実 読/書/実
r/w/x r/w/x r/w/x

読み取り権限/書き込み権限/実行権限の有無を、
4/2/1
の数字の合計で表す。
全て有り=7
読取+実行=5
等。

表示 2進数 設定値
rwxrwxrwx 111111111 chmod 777 ~
r-xr-xr-x 101101101 chmod 666 ~
r-xr-xr-x 100100100 chmod 555 ~
r--r--r-- 100100100 chmod 444 ~
-wx-wx-wx 011011011 chmod 333 ~
-r--r--r- 010010010 chmod 222 ~
--x--x--x 001001001 chmod 111 ~
--------- 000000000 chmod 000 ~

定数による指定

chmod (対象) (効果) (結果)
chmod [ugoa][+-=][rwx]

【対象】

定数 機能
u 所有者の権限
g グループの権限
o その他のユーザーの権限
a すべての権限

chmod u+r 所有者にr権限を追加
chmod ug+r 所有者、グループにr権限を追加
chmod ugo+r 所有者、グループ、他にr権限を追加
chmod a+r 全対象にr権限を追加

【効果】

定数 機能
+ 後に記述した権限を付加する
後に記述した権限を削除する
= 後に記述した権限にする

chmod u+r 所有者にr権限を追加
chmod u-r 所有者からr権限を削除
chmod u=r 所有者の権限をrのみに設定(-r-)

【結果】

定数 機能
r 読み込み権限
w 書き込み権限
x 実行権限

chmod u+r 所有者にr権限を追加
chmod u+w 所有者にw権限を追加
chmod u+x 所有者にx権限を追加

chgrp

ファイルの所属グループ変更
# chgrp (グループ名) (ファイル名)

セキュリティ

rootでのssh禁止

ssh」参照

設定ファイル
/etc/ssh/sshd_config

#PermitRootLogin yes

PermitRootLogin no

sshポート変更

ssh」参照

設定ファイル
/etc/ssh/sshd_config

#Port 22

Port XXXXX

chroot

ルートディレクトリの変更
現プロセス(子プロセス)

ルートディレクトリ対象
/test
 └bin
 └lib64
binとlib64は必要

cd /

bin home lib var etc ・・・

chroot test
cd /

bin lib64
ホームディレクトリが/testに変更される

cd ..
上階層に移動
ls
bin lib64
/testより上階層には移動できない

コメントを残す

メールアドレスが公開されることはありません。