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 プロセスを新規に生成する
sudo設定ファイルの編集
visudo
権限
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より上階層には移動できない
操作
ssh
接続
$ ssh オプション ホスト コマンド
ホストの指定はIPアドレスかドメイン名
$ ssh aaa.bbb.ccc.ddd
$ ssh office-yone.com
オプション
オプション | 機能 | 備考 |
---|---|---|
l | ユーザ名 |
$ ssh -l yone office-yone.com $ ssh yone@officeyone.s324.xrea.com
|
i | 秘密鍵パス |
$ ssh -i ~/.ssh/aaa.pem yone@officeyone.s324.xrea.com
|
p | ポート番号 | |
i | デバッグ |
$ ssh -v yone@officeyone.s324.xrea.com
|
scp
ダウンロード
ファイル
scp -i 〜.pem user@111.111.111.111:/var/index.html /Users
フォルダ
scp -i 〜.pem -r user@111.111.111.111:/var /Users
アップロード
ファイル
scp -i 〜.pem /Users/index.html user@111.111.111.111:/var
フォルダ
scp -i 〜.pem -r /Users/html user@111.111.111.111:/var
sftp
SSH File Transfer Protocol
ssh接続後にssh接続ネットワークを用いてファイル転送を行う
SSL/TLS接続ネットワークを用いてFTPを行うコマンドもある
FTPS (FTP over SSL/TLS)
接続
$ sftp オプション ホスト コマンド
sftp yone@officeyone.s324.xrea.com
以後対話コマンドが開始される
オプション
オプション | 機能 | 備考 |
---|---|---|
oPort | ポート番号指定 |
$ sftp -oPort="22022" yone@officeyone.s324.xrea.com
|
b | バッチファイル |
$ sftp -b ~/.ssh/aaa.bat yone@officeyone.s324.xrea.com
|
対話コマンド
コマンド | 機能 | 備考 |
---|---|---|
exit/quit/bye | 切断 | |
cd パス | リモート側のカレントディレクトリ変更 | |
pwd | リモート側のカレントディレクトリ | |
mkdir パス | リモート側にディレクトリ作成 | |
lcd パス | ローカル側のカレントディレクトリ変更 | |
lpwd | ローカル側のカレントディレクトリ | |
lmkdir パス | ローカル側にディレクトリ作成 | |
get | リモートマシンからローカルマシンのファイルを取得 | ディレクトリは「-r 」 |
put | リモートマシンからローカルマシンへファイルを転送 | ディレクトリは「-r 」 |