1.用戶組和權(quán)限管理
用戶分為三類:
1.1 超級用戶:root uid=0,簡單來說uid為0的用戶就是超級用戶。
1.2 虛擬用戶:存在linux中挣输,滿足文件或者程序運(yùn)行的需要刊驴,而創(chuàng)建的。不能登錄胸墙,不能使用我注。
uid=1-499,1-999(centos7)
1.3 普通用戶:管理員root創(chuàng)建的用戶。uid=500+迟隅,1000+(centos7)
用戶組就是具有相同特征的用戶的集合但骨。一個組可以包含多個用戶,每個用戶也可以屬于不同的組智袭。用戶組的目的方便管理員對用戶進(jìn)行集中管理奔缠。用戶組也分為兩類:系統(tǒng)組和普通組。
用戶及用戶組配置文件介紹
/etc/passwd 用戶及其屬性信息
第一列(以冒號為分隔符):用戶名
第二列:密碼位
第三列:UID號 CentOS6 1-499為系統(tǒng)用戶吼野,預(yù)留
CentOS7 1-999為系統(tǒng)用戶校哎,預(yù)留
第四列:GID號 主組和輔助組
第五列:用戶全名或注釋
第六列:用戶的家目錄
第七列:用戶默認(rèn)的shell類型
/etc/group 組及其屬性信息
第一列:用戶名
第二列:密碼位 ‘’ 加密方式salt$password
‘!!’代表賬戶被鎖定
第三列:更改密碼時間(天數(shù)計算)---距離1970年1月1號時間
第四列:密碼最短口令有效期
第五列:口令過期時間,更改口令往后的時間
第六列:口令到期前提前多少天提醒
第七列:口令過期后多少天賬戶過期
第八列:帳號的有效期
/etc/gshadow 組密碼及其相關(guān)屬性
第一列:組名
第二列:組密碼
第三列:管理員列表瞳步,可以更改組密碼和成員
第四列:將該組作為輔助組的成員列表
2.用戶和組管理命令
用戶管理命令
2.1 useradd
-u uid 創(chuàng)建用戶時指定uid
-g gid 指明用戶所屬基本組
-c 用戶的注釋信息
-M 不建家目錄
-s 指定用戶的默認(rèn)shell
-e 用戶過期時間
-G 為用戶指明附加組闷哆,組須事先存在
案例1:創(chuàng)建用戶gentpp,附加組為bin和root单起,默認(rèn)shell為/bin/csh抱怔,注釋信息為"Gentoo Distribution"。
[root@centos7 ~]#useradd gentpp -G bin,root -s /bin/csh -c "hello"
[root@centos7 ~]#cat /etc/passwd|tail -n1 #查看/etc/passwd最后一行
[root@centos7 ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)
2.2 usermod
-u UID: 新UID
-g GID: 新主組
-G 新附加組,原來的附加組將會被覆蓋丈氓;若保留原有兼砖,則要同時使用-a選項
-s 新的默認(rèn)SHELL
-c 新的注釋信息
-d HOME: 新家目錄不會自動創(chuàng)建;若要創(chuàng)建新家目錄并移動原家數(shù)據(jù)绕沈,同時使用-m選項
-l login_name: 新的名字
-L: lock指定用戶,在/etc/shadow 密碼欄的增加!
-U: unlock指定用戶,將/etc/shadow 密碼欄取消!centos7不可以解鎖
案例:修改gentpp的默認(rèn)shell和描述信息
[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh
[root@centos7 ~]#usermod -s /bin/sh gentpp
[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh
2.3 userdel
-r 刪除用戶時,連同其家目錄一同刪除
2.4 passwd命令
passwd命令用于修改用戶密碼帮寻、過期時間乍狐、認(rèn)證信息等,格式為“passwd [選項] [用戶名]”固逗。
普通用戶只能使用passwd命令修改自身的系統(tǒng)密碼浅蚪,而root管理員則有權(quán)限修改其他所有人的密碼。更酷的是烫罩,root管理員在Linux系統(tǒng)中修改自己或他人的密碼時不需要驗證舊密碼惜傲,這一點特別方便。既然root管理員可以修改其他用戶的密碼贝攒,就表示完全擁有該用戶的管理權(quán)限盗誊。
passwd命令中的參數(shù)以及作用
參數(shù) 作用
-l 鎖定用戶,禁止其登錄
-u 解除鎖定,允許用戶登錄
--stdin 允許通過標(biāo)準(zhǔn)輸入修改用戶密碼哈踱,如echo "NewPassWord" | passwd --stdin Username
-d 使該用戶可用空密碼登錄系統(tǒng)
-e 強(qiáng)制用戶在下次登錄時修改密碼
-S 顯示用戶的密碼是否被鎖定荒适,以及密碼所采用的加密算法名稱
假設(shè)您有位同事正在度假,而且假期很長开镣,那么可以使用passwd命令禁止該用戶登錄系統(tǒng)刀诬,等假期結(jié)束回歸工作崗位時,再使用該命令允許用戶登錄系統(tǒng)邪财,而不是將其刪除陕壹。這樣既保證了這段時間內(nèi)系統(tǒng)的安全,也避免了頻繁添加树埠、刪除用戶帶來的麻煩:
[root@linuxprobe ~]# passwd -l linuxprobe
Locking password for user linuxprobe.
passwd: Success
[root@linuxprobe ~]# passwd -S linuxprobe
linuxprobe LK 2017-12-26 0 99999 7 -1 (Password locked.)
[root@linuxprobe ~]# passwd -u linuxprobe
Unlocking password for user linuxprobe.
passwd: Success
[root@linuxprobe ~]# passwd -S linuxprobe
linuxprobe PS 2017-12-26 0 99999 7 -1 (Password set, SHA512 crypt.)
3. 組帳號管理命令
3.1 創(chuàng)建用戶組
用戶和用戶組屬于多對多關(guān)系糠馆,一個用戶可以同時屬于多個用戶組,一個用戶組可以包含多個不同的用戶
創(chuàng)建用戶組使用groupadd命令怎憋,其命令用法為:
groupadd [-r] 用戶組名稱
若命令帶有-r參數(shù)又碌,則創(chuàng)建系統(tǒng)用戶組,該類用戶組的GID值小于500盛霎;若沒有-r參數(shù)赠橙,則創(chuàng)建普通用戶組,其GID值大于或等于500.
3.2 修改用戶組屬性
用戶組創(chuàng)建后愤炸,根據(jù)需要可對用戶組的相關(guān)屬性進(jìn)行修改期揪。對用戶組屬性的修改,主要是修改用戶組的名稱和用戶組的GID值规个。
(1)改變用戶組的名稱
若要對用戶組進(jìn)行重命名凤薛,可使用帶-n參數(shù)的groupmod命令來實現(xiàn),其用法為:
groupmod -n 新用戶組名 原用戶組名
對于用戶組改名诞仓,不會改變其GID的值
比如缤苫,若要將student用戶組更名為teacher用戶組,則操作命令為:
[root@localhost ~]# tail -3 /etc/group
student:x:501:
lijie:x:502:
vodup:x:503:
[root@localhost ~]# groupmod -n teacher student
[root@localhost ~]# tail -3 /etc/group
lijie:x:502:
vodup:x:503:
teacher:x:501:
(2)重設(shè)用戶組的GID
用戶組的GID值可以重新進(jìn)行設(shè)置修改墅拭,但不能與已有用戶組的GID值重復(fù)活玲。對GID進(jìn)行修改,不會改變用戶名的名稱谍婉。
要修改用戶組的GID舒憾,可使用帶-g參數(shù)的groupmod命令,其用法為:
groupmod -g new_GID 用戶組名稱
例如穗熬,若要將teacher組的GID更改為504镀迂,則操作命令為:
[root@localhost ~]# tail -3 /etc/group
lijie:x:502:
vodup:x:503:
teacher:x:501:
[root@localhost ~]# groupmod -g 504 teacher
[root@localhost ~]# tail -3 /etc/group
lijie:x:502:
vodup:x:503:
teacher:x:504:
3.3 刪除用戶組
刪除用戶組使用groupdel命令來實現(xiàn),其用法為:
groupdel 用戶組名
在刪除用戶組時唤蔗,被刪除的用戶組不能是某個賬戶的私有用戶組探遵,否則將無法刪除窟赏,若要刪除,則應(yīng)先刪除引用該私有用戶組的賬戶箱季,然后再刪除用戶組涯穷。
[root@localhost ~]# groupdel teacher
groupdel: cannot remove the primary group of user 'zhangjie'
[root@localhost ~]# userdel -r zhangjie
[root@localhost ~]# groupdel teacher
[root@localhost ~]# grep teacher /etc/group #沒有輸出,說明teacher用戶組已不存在规哪,刪除成功
3.4添加用戶到指定的組/從指定的組中移除用戶gpasswd:
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
Adding user ma to group zhu #將用戶qb2添加到組qian2中
Removing user ma from group zhu #將用戶qb2從組qian2中刪除
3.5. groupmems[options] [action]
options:
-g 更改為指定組
actions:
-a 指定用戶加入組
-d 從組中刪除用戶
-p 從組中清除所有成員
-l 顯示組成員列表
案例:
[root@centos7 ~]#groupmems -g admins -a ma
[root@centos7 ~]#groupmems -g admins -a zhu #將ma和zhu用戶添加到admins中
[root@centos7 ~]#groupmems -g admins -l #查看admins中的用戶列表
ma zhu
[root@centos7 ~]#groupmems -g admins -d ma #將ma從admins中刪除
[root@centos7 ~]#groupmems -g admins -l
zhu
[root@centos7 ~]#groupmems -g admins -p #清空admins中的所有組成員
[root@centos7 ~]#groupmems -g admins -l
3.5 groups 查看用戶所屬組列表
[root@centos7 ~]#groups ma
ma : ma
root@centos7 ~]#groups zhu
zhu : zhu
4. 修改文件屬主和屬組
chown 修改文件的屬主(也可以改組)
用戶 文件或者目錄 <==僅僅授權(quán)用戶
:組 文件活目錄 <==僅僅授權(quán)組
用戶:組 文件或目錄 <==表示授權(quán)用戶和組
-R 遞歸
--reference=源文件 目標(biāo)文件
強(qiáng)調(diào):
1)其中的冒號“:”可以用點好“.”代替
2)要授權(quán)的用戶和組名求豫,必須是linux系統(tǒng)里實際存在的
案例:
[root@centos7 app]#ll
-rw-r--r--. 1 root root 0 Jul 29 16:27 f1
-rw-r--r--. 1 root root 0 Jul 29 16:27 f2
[root@centos7 app]#chown ma:ma f1
[root@centos7 app]#chown :zhu f2
[root@centos7 app]#ll
-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1
-rw-r--r--. 1 root zhu 0 Jul 29 16:27 f2
[root@centos7 app]#chown --reference=/app/f1 f2 #將f1的用戶和屬組信息復(fù)制給f2
[root@centos7 app]#ll
-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1
-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f2
chgrp 修改文件的屬組(只能改組)
----reference=源文件 目標(biāo)文件
-R 遞歸
案例:
[root@centos7 app]#chgrp ma f1 <==將f1的屬組直接修改成ma
[root@centos7 app]#ll
-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1
-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f2
-rw-r--r--. 1 root root 0 Jul 29 16:37 f3
[root@centos7 app]#chgrp --reference=/app/f3 f1
[root@centos7 app]#chgrp --reference=/app/f3 f2
[root@centos7 app]#ll
-rw-r--r--. 1 ma root 0 Jul 29 16:27 f1
-rw-r--r--. 1 ma root 0 Jul 29 16:27 f2
-rw-r--r--. 1 root root 0 Jul 29 16:37 f3