Linux用戶和組的主要配置文件:
/etc/passwd:用戶及其屬性信息
/etc/shadow用戶密碼及其相關屬性
/etc/group組及其屬性信息
etc/gshadow組密碼及其相關屬性
/etc/passwd
1.用戶名:
2.密碼位:x
pwconv (默認) 將密碼映射到了/etc/shadow
pwunconv 將密碼保存到/etc/passwd中,刪除/etc/shadow文件
3.UID:
每個用戶都有一個UID,UID為0時,說明是管理員帳戶。
CentOS6 1-499為系統用戶,預留
CentOS7 1-999為系統用戶,預留
4.GID:
主要組:每個有且僅有一個主要組,當用戶創建時,自動創建一個與用戶同名的組作為主要組。
輔助組:用戶可以有零個或多個輔助組。
5.描述位
chfn username 設置用戶的描述
getant passwd magedu 是截取passwd中有magedu的那一行
finger username (默認沒有安裝) 查看用戶的信息
6.家目錄
usermod -d /home/magedunew magedu 修改家目錄
7.默認的登錄Shell
usermod -s /sbin/nologin magedu 修改shell
chsh -s /sbin/nologin magedu
magedu:x:500:500::/home/magedu:/bin/bash
用戶名 密碼 UID GID 描述位(可以為空) 家目錄 shell(用戶登錄獲取的)
/etc/shadow
getent shadow [username] 截取shadow中有usename的那一行
1.username
2.密碼位: sha512 sha256 md5 $id$salt$password
authconfig –passalgo=sha256 –update 改變密碼的算法為sha256
!!用戶被鎖定
usermod -L 鎖定用戶
usermod -U 解鎖用戶 -p password
3.密碼上一次的修改日期(從1970-1-1到修改的時間經過了多少天來表示)
4.密碼最小存活期
5.密碼最大存活期
6.密碼過期之前提前多少天提醒用戶(在正確登錄時)
7.密碼過期之后多少天帳戶過期(在正確登錄時)
8.帳戶過期時間(自1970-1-1到該天經過了多少天來表示)
9.保留位
chage -l username 顯示帳戶的密碼信息
-d 指定密碼的上次修改時間(yyyy-mm-dd)
-d 0 則強制用戶下次登錄時必須修改密碼
-E 指定賬戶的過期時間
-I 密碼過期之后多少天帳戶過期
-m 設置最小存活時間
-M 設置最大存活時間
-W 設置密碼過期前的提醒時間
chage username 交互式修改用戶的密碼策略
Shadow中用戶magedu的信息:
magedu:$6$o31piJ4ZyS6plnbG$TyznYJmxdGY3bPUxxrGimj2uiiW43nPA8tlbqIsfWxq5mrbB6Pjhyp9mPM5zoxAQb.AEPDelOhXyeH39l.7HP0:17367:0:99999:7:::
/etc/group
getent group [groupname]
1.groupname:組名
2.密碼位:x
3.gid:
CentOS6 1-499為系統組,預留
CentOS7 1-999為系統組,預留
4.組成員:將該組作為輔助組的成員列表。當成員先把該組當作輔助組,再轉成主要組時,不改變。當成員離開該組時,被刪除。
gid和uid 不一定一致 (我先創建一個組,此時該組就占用一個gid(比如1001)號,再創建一個用戶,該用戶就自動創建一個與用戶名同名的主要組,而該組的gid號就應為1002,uid號為1001.
/etc/gshadow
getent gshadow [groupname]
1.groupname:組名
2.密碼位:
gpasswd groupname設置組密碼
newgrp groupname(普通用戶)
當用戶不是該groupname的輔助組成員時,則需要輸入密碼,成功后臨時以主要組的身份加入該組。
當用戶是該groupname的輔助組成員時,無需輸入密碼,將臨時以主要組的身份加入該組,而其原有的主要組,臨時變為輔助組。
查看app中的所有內容,我們可以看到目錄make的所屬組是admin,當前是在mage這個用戶下,他的主要組是magedu,所以不能進入make,而使用newgrp admin 后,就會臨時使magedu這個用戶的主要組變成admin,而原本的主要組magedu變成附加組,此時就能進入目錄make了。(當一個用戶想要進入一個文件時,先看這個文件的所屬組,若這個所屬組設有密碼時,當這個用戶的主要組或附加組和該文件的所屬組相同時,就能進入該文件,不相同時就不能進入該文件) newgrp groupname 進入臨時會話內容,不會記錄到文件中,此時id username 只能查看你登陸時的信息,不能查看修改之后的信息
3.管理員:只能由root任命或撤銷,可以同時有多名,以,(逗號)為間隔。權利:可以修改組密碼,可以將用戶從該組(輔助組)當中添加或刪除。
任命 gpasswd -A xiaoqiao,luren admin 撤消所有管理員:gpasswd -A “” admin
gpasswd -a libai admin 往組中增加用戶
gpasswd -d libai admin 將用戶從組中刪除
gpasswd -r admin 刪除組密碼
gpasswd -R admin 限制非輔助組用戶可以通過newgrp admin獲取主組權限。當前密碼被刪除替換為!
gpasswd -M redhat,libai admin 設置輔助組的成員列表。
groupmems 主要是對附加組的操作,加的是附加組
groupmems -g admin -a libai (僅能一次加一個用戶到組中)
groupmems -g admin -d libai 將指定成員從組中刪除
groupmems -g admin -l 列出指定組的成員列表(輔助組) 等效
getent group admin
groupmems -p admin 消除指定組的所有成員。
4. 組成員:將該組作為輔助組的成員列表。當成員先把該組當作輔助組,再轉成主要組時,不改變。當成員離開該組時,被刪除。
注意:groups username 查看指定用戶屬于哪些組
[root@centos7 etc]# groupmems -g administrator -l 查看administrator 組中的成員
change libai bajie
[root@centos7 etc]# groups shaseng 查看大圣這個用戶屬于哪些組
shaseng : shaseng yutu bajie
/etc下passwd , shadow , group, gshadow 各自的內容
useradd
-u uid username 創建用戶時指定uid(如不指定則Centos6:500-60000, Centos7: 1000-60000)
-o -u uid username 創建用戶時指定uid(可以與已存在用戶的uid相同)
-g groupname username 創建用戶時指定主組為某個已存在的組。(將不會再創建與用戶同名的組)
-c … username 創建用戶時指定描述信息。
chfn … username
-d path username 指定用戶的家目錄(確保指定的家目錄所在的上級目錄要存在,且家目錄本身不能存在)(家目錄里的內容可以從/etc/skel中遞歸復制)
-s /sbin/nologin username 指定用戶的默認shell
-G group1[,group2] username 指定用戶的輔助組
-N username 設置用戶的主要組為默認組(users,uid=100)
-r username 創建系統用戶
/etc/default/useradd
/etc/login.defs
usermod
usermod -u newuid username 修改用戶的UID
-o -u newuid username 修改用戶的uid(可以與已存在用戶的uid相同) -aG 加組名,可以追加輔助組而不用覆蓋之前的組
-G “” username 或 usermod -G primarygroup username 清空用戶所有的輔助組
-g groupname username 修改用戶的主組
-s /sbin/nologin username 修改用戶的默認shell
-c … username 修改用戶時指定描述信息。
chfn … username
-d /…/path username 修改用戶的家目錄(不會創建,只修改/etc/passwd當中的家目錄信息)
-m -d /…/path username 修改用戶的家目錄信息,并將家目錄移動到目的目錄并改名。
-l newname oldname 修改用戶名
-L 給用戶/etc/shadow中的密碼位加!使用戶被鎖定
-U 把!拿掉。
-e yyyy-mm-dd 設置一個帳戶過期時間
-f days 指定密碼過期之后多少天帳戶過期
vipw = vim /etc/passwd
vipw -s = vim /etc/shadow
vigr = vim /etc/group
vigr -s = vim /etc/gshadow
pwck 檢查/etc/passwd /etc/shadow
grpck 檢查/etc/group /etc/gshadow
練習:
1、創建用戶gentoo,附加組為bin和root,默認shell為
/bin/csh,注釋信息為“Gentoo Distribution”
useradd -G bin,root -c “Gentoo Distribution” -s /bin/csh gentoo
2、創建下面的用戶、組和組成員關系
名字為admins 的組
用戶natasha,使用admins 作為附屬組
用戶harry,也使用admins 作為附屬組
用戶sarah,不可交互登錄系統,且不是admins 的成員,
natasha,harry,sarah密碼都是centos
groupadd admins
useradd -G admins natasha
useradd -G admins harry
useradd -s /sbin/nologin sarah
passwd natasha
passwd harry
passwd sarah
userdel [-r] username
刪除用戶時,加上-r連同其家目錄,mail一同刪除
id
id username
id -u 用戶的uid
id -un 用戶名
id -g 主要組的gid
id -gn 主要組的名字
su switch user
su username 非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su – username 登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
-c ‘command’ 以用戶的身份執行命令而不登錄
passwd
usename 更改用戶的密碼 僅root用戶才有權限修改其他用戶的密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼(可以批量創建用戶的密碼)
echo “PASSWORD” | passwd –stdin USERNAME
groupadd -g gid groupname 創建指定gid的組
-r groupname 創建系統組
groupmod
-n newgrpname oldgrpname 修改組名
-g newgid groupname 修改gid
groupdel groupname 刪除組
原創文章,作者:fuming,如若轉載,請注明出處:http://www.www58058.com/82292