大資料學習筆記(七) -- linux的使用者管理
Table of Contents
許可權管理
r 可讀,w 可寫,x 對於程式來說可執行,文字一般沒有x,對於目錄來說可進入,所以一般目錄都有x許可權,否則沒什麼意義。
更改許可權語法一
chmod augo +/- rwx 檔名
a 代表所有人,u代表所有者,g代表組,o代表組外其他人。 如果是增加許可權就用 + ,去掉許可權用 -
更改許可權語法二
r 4 w 2 x 1
chmod 755
755 就代表,檔案所屬者許可權為7,即 有 r 4 ,有 w 2 ,有 x 1 ,4+2+1 = 7 , 檔案所屬組為5,即 有r 4 ,有 x 1,組外其他人為 5 ,同理。
目錄一般都是 755。
建立使用者
通過以下兩個命令建立使用者以及為使用者設定密碼
[[email protected] home]# useradd zzh02
[[email protected] home]# passwd zzh02
刪除使用者用如下命令
[[email protected] /]# userdel groupshare
建立完的使用者會出現在 home 目錄下。
我們可以通過
[c:\~]$ ssh 使用者名稱@ip地址
進行使用者的登入。
也可以通過
su 使用者名稱
進行使用者切換,通過exit 退回到原使用者
[[email protected] home]# su god
[[email protected] home]$ exit
exit
[[email protected] home]#
每個使用者在 /home/自己目錄 建立檔案別的使用者是看不到的,但是root使用者擁有一切的許可權。
建立使用者組
如果想實現兩個使用者部分資料的共享,則需要建立一個組,然後將兩個使用者追加到組中,再將組與共享的資源繫結,最終再更改許可權。
建立一個組,組名為groupshare
[[email protected] /]# groupadd groupshare
刪除組用如下命令
[[email protected] /]# groupdel groupshare
檢視 使用者所屬組資訊
[[email protected] /]# id zzh01
uid=503(zzh01) gid=503(zzh01) groups=503(zzh01)
可以看出 使用者zzh01 目前所屬 zzh01這個組。
我們將使用者追加到groupshare組中
[[email protected] /]# usermod -a -G groupshare zzh01
[[email protected] /]# id zzh01
uid=503(zzh01) gid=503(zzh01) groups=503(zzh01),505(groupshare)
zzh02同理
[[email protected] /]# usermod -a -G groupshare zzh02
[[email protected] /]# id zzh02
uid=504(zzh02) gid=504(zzh02) groups=504(zzh02),505(groupshare)
將組與共享資源繫結
[[email protected] /]# ll
total 94
dr-xr-xr-x. 2 root root 4096 Sep 21 03:27 bin
dr-xr-xr-x. 5 root root 1024 Sep 21 03:27 boot
drwxr-xr-x. 18 root root 3700 Sep 21 06:01 dev
drwxr-xr-x. 61 root root 4096 Sep 22 04:51 etc
drwxr-xr-x. 7 root root 4096 Sep 22 04:22 home
dr-xr-xr-x. 8 root root 4096 Sep 21 03:27 lib
dr-xr-xr-x. 9 root root 12288 Sep 21 03:27 lib64
drwx------. 2 root root 16384 Sep 21 03:25 lost+found
drwxr-xr-x. 2 root root 4096 Sep 23 2011 media
dr-xr-xr-x. 7 root root 4096 Nov 29 2013 mnt
drwxr-xr-x. 2 root root 4096 Sep 22 04:53 ooxx
drwxr-xr-x. 2 root root 4096 Sep 21 17:05 opt
dr-xr-xr-x. 88 root root 0 Sep 21 06:00 proc
dr-xr-x---. 2 root root 4096 Sep 22 04:05 root
dr-xr-xr-x. 2 root root 12288 Sep 21 03:27 sbin
drwxr-xr-x. 7 root root 0 Sep 21 06:00 selinux
drwxr-xr-x. 2 root root 4096 Sep 23 2011 srv
drwxr-xr-x. 13 root root 0 Sep 21 06:00 sys
drwxrwxrwt. 3 root root 4096 Sep 22 04:27 tmp
drwxr-xr-x. 13 root root 4096 Sep 21 03:26 usr
drwxr-xr-x. 17 root root 4096 Sep 21 03:26 var
[[email protected] /]# chown :groupshare ooxx
[[email protected] /]# ll
total 94
dr-xr-xr-x. 2 root root 4096 Sep 21 03:27 bin
dr-xr-xr-x. 5 root root 1024 Sep 21 03:27 boot
drwxr-xr-x. 18 root root 3700 Sep 21 06:01 dev
drwxr-xr-x. 61 root root 4096 Sep 22 04:51 etc
drwxr-xr-x. 7 root root 4096 Sep 22 04:22 home
dr-xr-xr-x. 8 root root 4096 Sep 21 03:27 lib
dr-xr-xr-x. 9 root root 12288 Sep 21 03:27 lib64
drwx------. 2 root root 16384 Sep 21 03:25 lost+found
drwxr-xr-x. 2 root root 4096 Sep 23 2011 media
dr-xr-xr-x. 7 root root 4096 Nov 29 2013 mnt
drwxr-xr-x. 2 root groupshare 4096 Sep 22 04:53 ooxx
drwxr-xr-x. 2 root root 4096 Sep 21 17:05 opt
dr-xr-xr-x. 88 root root 0 Sep 21 06:00 proc
dr-xr-x---. 2 root root 4096 Sep 22 04:05 root
dr-xr-xr-x. 2 root root 12288 Sep 21 03:27 sbin
drwxr-xr-x. 7 root root 0 Sep 21 06:00 selinux
drwxr-xr-x. 2 root root 4096 Sep 23 2011 srv
drwxr-xr-x. 13 root root 0 Sep 21 06:00 sys
drwxrwxrwt. 3 root root 4096 Sep 22 04:27 tmp
drwxr-xr-x. 13 root root 4096 Sep 21 03:26 usr
drwxr-xr-x. 17 root root 4096 Sep 21 03:26 var
我們可以發現 ooxx 目錄的所屬組改變了。 如果想改變目錄的所屬者,只需在上面 命令中的冒號前面 加上所屬者的使用者名稱即可
如
[[email protected] /]# chown zzh01:groupshare ooxx
然後就是更改許可權了
上面的許可權 是 rwx r-x r-x ,我們應給組內所有使用者加上寫的許可權,給其他組使用者去掉 讀和執行的許可權
[[email protected] /]# chmod g+w ooxx
[[email protected] /]# chmod o-rx ooxx
重新登入
[c:\~]$ ssh 使用者名稱@ip地址
然後我們就可以進入到 ooxx 目錄中了,使用zzh01使用者在該目錄下建立一個文字 zzh01 ,建立完畢以後會發現 該檔案的所屬組是zzh01
[[email protected] ooxx]$ ll
total 4
-rw-rw-r--. 1 zzh01 zzh01 11 Sep 22 05:07 zzh01.txt
如果想讓zzh02使用者能夠修改裡面的內容,則必須再對該檔案所屬組做修改
[[email protected] ooxx]$ chown :groupshare zzh01.txt
[[email protected] ooxx]$ ll
total 4
-rw-rw-r--. 1 zzh01 groupshare 11 Sep 22 05:07 zzh01.txt
測試 : 在zzh02使用者下向 zzh01.txt 寫入一行資料,再返回zzh01使用者下檢視
[[email protected] ooxx]$ vi zzh01.txt
[[email protected] ooxx]$ cat zzh01.txt
from zzh01
from zzh02