Linux系統中(CentOS 7)的用戶和權限管理

用戶和組

用戶信息文件

/etc/passwd
(1  2 3 4  5     6       7)
root:x:0:0:root:/root:/bin/bash  用戶信息,以 : 分割字段
daemon:x:2:2:daemon:/sbin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

字段1:用戶名
字段2:密碼佔位符(原用於存放密碼,現已棄用)
字段3:uid(用戶的身份標識)
	0 超級管理員	 1-499 程序用戶  500-60000 普通用戶  (centOS 6 中)
    	                   999		1000	          (centOS 7 中)
	在應用啓動時,會調用程序用戶來啓動(該用戶權限低,沒法登錄系統)
字段4:gid用戶的基本組id(一個用戶只能有一個基本組,但能夠有多個附加組)
字段5:用戶信息(現已棄用)
字段6:用戶的的家目錄
字段7:用戶登陸系統的命令解釋器類型(shell)
	/bin/bash	表示該用戶能夠登陸系統
	/sbin/nologin	表示該用戶沒法登陸系統

用戶密碼信息

/etc/shadow
 1                                       2
root:$7$UmhhDLOFNijwwr6v$.rw/AyPqqm4WeoYnajjveFCabPT9SeOLALLWbarOvPuTGtJX5d1cmwgV5abwzCplR8ekN2XlbweD2xcpG06eb0::0:99999:7:::
userA:!!:18458:0:99999:7:::
  1   2    3   4   5   6 78
字段1:用戶名
字段2:被加密過的密碼(利用sha-512算法,以及salt值混合加密的密碼)
字段3:間隔天數(距1970年1月1日密碼最近一次的修改時間)
字段4:密碼的最短有效期,0表示不限制,若爲3則表示用戶(root除外)三天內不能修改本身的密碼
字段5:密碼最長有效期(建議設定成90天)
字段6:密碼過時前的7天會有警告提示
字段7:密碼的不活躍期
字段8:帳戶的失效時間

相關命令

用戶管理
id user	 查看用戶的信息(uid,gid以及附加組)
useradd userA	建立一個新用戶userA
  id會默認從可用id裏順序取值,且會同時建立同名的基本組和附加組
  [root@localhost ~]# id userA
  uid=1001(userA) gid=1001(userA) groups=1001(userA)
useradd -u 1223 -g 1001  userB	建立一個uid爲1223,gid爲1001的用戶userB
usermod -g root userA	將用戶userA的所屬組改成root
usermod -G 1002 userA   爲用戶增長一個gid爲1002的附加組
usermod -s /sbin/nologin  修改用戶的命令解釋器(沒法登陸,也不能由其餘用戶切換)
userdel -r userB  刪除用戶及其家目錄,若無-r,則會保留家目錄
組管理
groupadd gp  建立了一個名爲gp的組
group -g 676 aaa  建立了一個gid爲676的組aaa
groupmod -g 677 aaa	 將組aaa的gid改成677
gpasswd -d aaa root  從root組成員中移除用戶aaa
tail -3 /etc/group

userA:x:1001:aaa
userB:x:1002:
aaa:x:1003:

字段1:組名
字段2:密碼標識
字段3:gid
字段4:組中的成員(以該組爲附加組的用戶,以該組爲基本組的用戶不顯示)
密碼管理
passwd -S root	查看root用戶的密碼狀態
passwd userA	爲用戶userA設定密碼
passwd -d userA  刪除用戶userA的密碼
passwd -l userA  鎖定用戶userA,其不能在登陸界面登陸,但能夠從其餘用戶切換
passwd -u userA  解鎖用戶
chage -M 90 userA  修改用戶userA密碼的最長有效期爲90天

權限管理

文件的詳細信息

ls -lh	列出文件的詳細信息
-rwxr-xr-x.  1 root root  127 Jul 20 18:57 hello.sh
drwxr-xr-x. 12  500  500 4.0K Jul 17 16:25 httpd-2.2.15
-rwxrw-rw-.  1 root root 6.3M May 13 09:08 httpd-2.2.15.tar.gz
drwxr-xr-x.  3 root root   79 Jul 21 19:27 test
    1        2   3   4    5        6          7

字段1:文件的類型和權限
字段2:文件類型若是是文件,表明文件的結點數inode
      文件類型若是是目錄,表明目錄中子目錄的個數(包括目錄 . 和 ..)
字段3:文件的所屬者
字段4:文件的所屬組
字段5:文件的大小
字段6:文件的修改時間
字段7:文件名

文件權限

對文件的類型和權限信息部分進行分割
drwxr-xr-t. 2 root root  6 Jul 21 20:48 tmp1  (設置了粘置位的目錄)
drwxr-xr-T. 2 root root  6 Jul 21 20:47 tmp2
- rwx r-x r-x +  1 root root  127 Jul 20 18:57 hello.sh
d rwx r-x r-x .  3 root root   79 Jul 21 19:27 test
1  2   3   4  5

字段1:文件類型  -普通文件 d目錄 l符號連接 b塊設備(硬盤)
字段2:文件所屬者的權限
字段3:文件所屬組的權限
字段4:其餘用戶的權限  (字段234屬於文件基本acl)
字段5:文件擴展acl標識(.表示沒有設置擴展acl,+表示設置了擴展acl)
	(擴展acl的優先級高於基本acl)
權限中各字符的含義:
            r        w       x
對於文件    讀取      寫入    可執行
對於目錄   列出內容  增刪文件   進入
(若是用戶對於目錄沒有x權限,即便擁有rw權限也沒法對其進行操做)

相關命令

chmod 改變文件或目錄的權限
chmod u-x g+w o=r-x file  (-撤權  +賦權  =直接覆蓋權限)
 撤銷file文件所屬者的執行權限,所屬組增長寫權限,其餘用戶只有讀和執行權限
chmod a--- file
 撤銷全部用戶和組對file文件的全部權限(root用戶仍能夠對其進行任意操做)
chmod -R o=	./test
 撤銷其餘用戶對test目錄及其包含的全部文件的全部權限
chmod o+t /test  對目錄設置粘置位
 本來其用於顯示他用戶x權限的位置會被替代成t(有x權限)/T(無x權限)
chnod -u+s /usr/bin/vim  爲 vim文件添加suid權限
 (suid只對可執行文件有效果,任何運行該文件的用戶都是以文件所屬者的身份運行)

 8進制賦權法
0   000   ---
1   001   --x
2   010   -w-
3   011   -wx
4   100   r--
5   101   r-x
6   110   rw-
7   111   rwx

chmod 700 file  只有文件所屬者對file文件有操做權限
chmod 444 file  全部用戶對file文件只有讀r權限
chmod 1444 /tmp3  對目錄tmp3設置粘置位(1表示設置粘置位)
chmod 0444 /tmp3  撤銷目錄的粘置位

chown userA /tmp/1.txt	將文件1.txt的所屬者更改成userA
chgrp -R userB ./test/  將目錄及其包含的全部內容的所屬組更改成userB

文件acl設置
getfacl file  查看文件的facl
setfacl  設置文件擴展訪問控制列表
setfacl -m u:userA:r-- ./1.txt
 用戶userA對1.txt文件只有r權限
setfacl -m g:userB:rw- ./1.txt
 組userB對1.txt文件只有rw權限
setfacl -x u:userA ./1.txt
 撤銷userA用戶在1.txt文件上的擴展acl
setfacl -b 1.txt
 撤銷對文件設置的全部擴展acl
相關文章
相關標籤/搜索