##■Linuxって何?
:OS(Operating System)の一種類で、OSにはWindows, Linux, IOS, Androidなどがある。
*OS:リソースなどシステム全般的なものを管理し、色んなアプリケーションを動かすための、基盤になるソフトウェア。
##■Linuxディストリビューション
:RedHat系、Debian系、Slackware系などがあり、RedHat系やDebian系を使うことが多い。
・RedHat系
:RedHat Enterprise Linux, CentOS, Fedora, Amazon Linuxなど
・Debian系
:Debian, Ubuntuなど
・使用中のLinuxディストリビューション確認
# cat /etc/system-release
Amazon Linux release 2 (Karoo)
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
##group・user作成・削除
:Linuxでは複数のユーザーが使用できるようになっていてユーザー・グループ毎にファイルアクセスなどの権限設定ができる。ユーザーは大きくrootユーザーと一般ユーザーで分かれていてる。rootユーザーはシステム設定ファイルの変更などができ、非常に強い権限を持っており、操作によってはOSが壊れてしまうので、rootユーザーでの操作は注意が必要!
コマンド:groupadd
:オプションについてはman groupaddを参考
# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:ec2-user
mail:x:12:mail
uucp:x:14:
man:x:15:
games:x:20:
gopher:x:30:
video:x:39:
dip:x:40:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
cdrom:x:11:
tape:x:33:
dialout:x:18:
floppy:x:19:
rpc:x:32:
ssh_keys:x:499:
(省略...)
# cat /etc/group | grep hogegroup
# /usr/sbin/groupadd -g 611 hogegroup
# cat /etc/group | grep hogegroup
hogegroup:x:611:
コマンド:useradd
:オプションについてはman useraddを参考
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
(省略...)
# cat /etc/passwd | grep hogeuser
# /usr/sbin/useradd -d /home/hogeuser -g hogegroup -u 644 -s /bin/bash -m hogeuser
# cat /etc/passwd | grep hogeuser
hogeuser:x:644:611::/home/hogeuser:/bin/bash
コマンド:passwd
:オプションについてはman passwdを参考
# passwd hogeuser
ユーザー hogeuser のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
# ssh -l hogeuser locahost
コマンド:userdel
:オプションについてはman userdelを参考
# cat /etc/passwd | grep hogeuser
hogeuser:x:644:611::/home/hogeuser:/bin/bash
# userdel -r hogeuser
# cat /etc/passwd | grep hogeuser
コマンド:groupdel
:オプションについてはman groupdelを参考
# cat /etc/group | grep hogegroup
hogegroup:x:611:
# groupdel hogegroup
# cat /etc/group | grep hogegroup
##権限(パーミッション)
linuxではファイル毎に権限設定が可能で、特定のグループのみあるいは特定のユーザーのみ権限を付与することができる
・権限確認
# ls -altrh /home/hogeuser/
合計 20K
-rw-r--r-- 1 hogeuser hogegroup 124 8月 16 2016 .bashrc
-rw-r--r-- 1 hogeuser hogegroup 193 8月 16 2016 .bash_profile
-rw-r--r-- 1 hogeuser hogegroup 18 8月 16 2016 .bash_logout
drwxr-xr-x 7 root root 4.0K 7月 13 18:35 ..
drwx------ 2 hogeuser hogegroup 4.0K 7月 13 18:35 .
-rw-r--r--など:権限の設定内容
filetype(1文字) | owner権限(3文字) | group権限(3文字) | その他ユーザー権限(3文字) |
---|---|---|---|
- | rw- | r-- | r-- |
記号 | 意味 |
---|---|
- | ファイル |
d | ディレクトリ |
l | シンポリックリンク |
r | 読み取り権限(read) |
w | 書き込み権限(write) |
x | 実行権限(execute) |
##権限設定
・コマンド:chown(owner設定)
:オプションについてはman chownを参考
# touch /home/hogeuser/test.txt
# ls -altrh /home/hogeuser/
合計 24K
-rw-r--r-- 1 hogeuser hogegroup 124 8月 16 2016 .bashrc
-rw-r--r-- 1 hogeuser hogegroup 193 8月 16 2016 .bash_profile
-rw-r--r-- 1 hogeuser hogegroup 18 8月 16 2016 .bash_logout
drwxr-xr-x 7 root root 4.0K 7月 13 19:17 ..
-rw------- 1 hogeuser hogegroup 65 7月 13 19:20 .bash_history
-rw-r--r-- 1 root root 0 7月 13 19:20 test.txt
drwx------ 2 hogeuser hogegroup 4.0K 7月 13 19:20 .
# chown hogeuser:hogegroup test.txt
# ls -altrh
合計 24K
-rw-r--r-- 1 hogeuser hogegroup 124 8月 16 2016 .bashrc
-rw-r--r-- 1 hogeuser hogegroup 193 8月 16 2016 .bash_profile
-rw-r--r-- 1 hogeuser hogegroup 18 8月 16 2016 .bash_logout
drwxr-xr-x 7 root root 4.0K 7月 13 19:17 ..
-rw------- 1 hogeuser hogegroup 65 7月 13 19:20 .bash_history
-rw-r--r-- 1 hogeuser hogegroup 0 7月 13 19:20 test.txt
drwx------ 2 hogeuser hogegroup 4.0K 7月 13 19:20 .
・コマンド:chmod(ファイル権限設定)
:オプションについてはman chmodを参考
# chmod 754 test.txt
[root@batch-master-ju hogeuser]# ls -altrh
合計 24K
-rw-r--r-- 1 hogeuser hogegroup 124 8月 16 2016 .bashrc
-rw-r--r-- 1 hogeuser hogegroup 193 8月 16 2016 .bash_profile
-rw-r--r-- 1 hogeuser hogegroup 18 8月 16 2016 .bash_logout
drwxr-xr-x 7 root root 4.0K 7月 13 19:17 ..
-rw------- 1 hogeuser hogegroup 65 7月 13 19:20 .bash_history
-rwxr-xr-- 1 hogeuser hogegroup 0 7月 13 19:20 test.txt
drwx------ 2 hogeuser hogegroup 4.0K 7月 13 19:20 .
"754"オプション:パーミッション設定内容で各ブロックの権限を8進数で設定
7 | 5 | 4 |
---|---|---|
rwx | r-x | r-- |
owner:読み取り、書き込み、実行 | group:読み取り、実行 | その他のユーザー:読み取り |