Linux用戶和組管理
Username / UID
- 管理員:root,0
-
普通用戶 : 1–65535
-
系統用戶 :系統已經已經存在專門用來對系統服務或者系統資源進行管理的
1–499(CentOS 6.X)
1–999 (CentOS 7.X) -
登錄用戶:平時專門做系統管理的用戶
500+ (CentOS 6.X)
1000+ (CeentOS 7.X)
用戶ID ,其實就是UID, 用來標識用戶身份的;
-
系統用戶 :系統已經已經存在專門用來對系統服務或者系統資源進行管理的
Groupname / GID
- 管理員組 : root,0
-
普通組: 1-65535
-
系統組:1-499(CentOS 6.X), 1-999(CENTOS7)
非系統組:500+(CentOS 6.x), 1000+(CENTOS7)
-
系統組:1-499(CentOS 6.X), 1-999(CENTOS7)
用戶和組的關系
每個用戶必須屬于一個與用戶同名的組(默認的情況) 這個組一般叫做基本組(主組)
一個用戶可以屬于除基本組之外的其他組,這個組就叫做(附加組)(輔助組)
[root@lyp home]# ll /etc/{passwd,group,shadow,gshadow}* -rw-r--r--. 1 root root 998 Mar 29 18:08 /etc/group
-rw-r--r--. 1 root root 1015 Mar 25 01:00 /etc/group-
----------. 1 root root 807 Mar 29 18:08 /etc/gshadow
----------. 1 root root 820 Mar 25 01:00 /etc/gshadow-
-rw-r--r--. 1 root root 2335 Mar 29 18:08 /etc/passwd
-rw-r--r--. 1 root root 2380 Mar 29 18:08 /etc/passwd-
----------. 1 root root 1402 Mar 29 18:08 /etc/shadow
----------. 1 root root 1523 Mar 29 18:08 /etc/shadow-
/etc/group 存儲的是組信息
/etc/gshadow 存儲的是組的密碼
/etc/passwd 存儲系統全部用戶的賬號信息
/etc/shadow 存儲用戶和對應的密碼 ,密碼有效時間
- /etc/passwd
root: x: 0: 0 : root: /root: /bin/bash
用戶名 密碼占位符 UID GID 注釋信息 用戶的家目錄 默認的用戶的shell /sbin/nologin 系統用戶 因為系統資源或者進程的管理工作,并不需要登錄 38 /sbin/nologin 4 /bin/bash 1 /sbin/shutdown 1 /sbin/halt 1 /bin/sync
- /etc/group
magedu: x : 1000 : magedu
組名 密碼占位符 GID 用戶
- /etc/gshadow
magedu: !! : : magedu 群組名稱 密碼 組管理員列表 組里的用戶
- /etc/shadow
magedu: 用戶名 $6$X5WhrwGlH43. 密碼(加密的密碼)
:17249 最近一次修改密碼的時間
:0 經過多少天才可以被變更
:99999: 最大使用時間(永不過期) 7: 密碼到期之前7天提醒修改密碼
: 密碼到期之后這個賬號被鎖定
: 賬號失效時間
: 保留
如果是 ! * 說明這個賬號是不可用被鎖定
$ 6 $ X5WhrwGlH43drG6g $HBK4K2Ze5QURnW3VuFYIL4KMKo1 加密算法 salt 密碼
加密算法:md5 ; sha1 ; sha224 ; sha256 ; sha384 ; sha512
使用salt可以避免密碼一樣;添加的隨機數
MySQL,用戶加密md5
批量修改密碼:
shell腳本 ;python腳本
ansible ; puppet ; salt
或一臺臺改
用戶和組相關的管理命令
-
用戶創建 useradd (使用頻率2)
-u 指定UID (默認500|1000開頭)
-o -u新建用戶前不檢查指定的UID是否存在(默認是檢查,一般不要使用這個選項)
useradd -u 250 -o yonggege
-g GID|組名 指明用戶所屬的基本組 (使用比較多)
-G 指明用戶所屬的附加組
-d 指定某個目錄作為家目錄,默認/home
-s 指明用戶默認的shell 默認/bin/bash 通常會指定/sbin/nologin(使用較多)
-c “ ” 指定用戶注釋信息
-r 新建系統用戶
-m 默認選項 創建用戶家目錄
-M 不創建用戶家目錄 (使用較多)
useradd -M -s /sbin/nologin yongge
useradd -D 改變新建用戶默認的選項 (使用頻率為0)
[root@CentOS68 ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home 默認家目錄 INACTIVE=-1 密碼失效日期,shadow第7列 EXPIRE= 賬號失效日期 第8列 SHELL=/bin/bash SKEL=/etc/skel 家目錄下面的隱藏文件的模板 CREATE_MAIL_SPOOL=yes 是否創建一個郵箱賬戶
-
用戶屬性修改 usermod
-U 解鎖用戶 sarah
-L 鎖定用戶 (直接修改密碼文件,加感嘆號) -
passwd: 修改自己的密碼
passwd [options] UserName-
不常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e (date):強制用戶下次登錄修改密碼;(過期期限,日期)
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
常用選項 :
–stdin:從標準輸入接收用戶密碼
echo “PASSWORD” | passwd –stdin USERNAME
Note: linux 系統之上有兩個特殊文件:
/dev/null: 能夠接收任何內容,并將其丟棄,外號:無底洞
/dev/zero : 能夠連續不斷的輸出0信息echo "123456" | passwd --stdin xian chage -d 0 xian 要求用戶在第一次登陸的時候必須強制一定要修改密碼 echo "P@ $ sd" | passwd --stdin xian
-
(1)passwd : 修改自己的密碼
(2)passwd UserName : 修改指定用戶密碼,僅限root
注意:字符串有一個$符號 會把后面的內容給替換成變量 而這個變量為空,所以切記改密碼的時候要使用單引號 強引用
要注意的事情是:改完密碼之后,當前的終端不能立即退出,改為先驗證下密碼是否改成功,如果成功再退出,如果不成功,你退出了,后果就自己想吧!
-
-
userdel 刪除用戶 (使用頻率1)
-r 刪除用戶家目錄 -
創建組 groupadd
groupadd [options] group- g GID:指明GID;默認是上一個組的GID+1
- r: 創建系統組
-
id 查看用戶信息
id [OPTION] … [USER]
-u UID
-g GID
-G 附加組
-n Name
-
groupmems
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p-
-g 組 -a 用戶名
-g 組 -d 刪除
-g 組 -p 清空
-g 組 -l 列出組內所有的用戶
groupmems -g shanxi -a hanzhong;
使用groupadd 添加一個組情況相對較多 。
-
-g 組 -a 用戶名
-
切換用戶或以其他用戶身份執行命令( switch user): su
-
su UserName : 非登錄式切換,即不會讀取目標用戶的配置文件;
su – UserName : 登錄式切換,會讀取目標用戶的配置文件,完全切換;
Note : root su 至其他用戶無需密碼,非root用戶切換時需要密碼;
不加 – 某些環境變量可能不會切換過去,等于是人過去了,行李還沒過去 su lucy;
加 – 行李和人都過去 ,生產推薦使用 su – lucy;
su -l USER === su – USER
-c ’CMD‘ 以某個用戶的身份執行CMD命令
[root@CentOS68 ~]# su – lucy -c ‘whoami’
xian
su – lucy -c “date +’%Y %m'”
2017 03
單引號和雙引號在執行單個命令的時候并沒有什么區別,所有執行的命令里面包含 ’ ’ 建議外面使用 “ ”
使用root切換到其他普通的時候 是不需要密碼的,但是普通用戶切換到root或者切換到其他用戶的時候是需要密碼登錄的
su – root 用戶名可以省略,但是僅限于root用戶
如果想切換到root用戶不用輸密碼,可以只用visudoer編輯
-
su UserName : 非登錄式切換,即不會讀取目標用戶的配置文件;
-
組屬性修改 :groupmod
groupmod [options] GROUP- n group_name : 新名字
- g GID :新的GID
-
組刪除 : groupdel
groupdel GROUP (首先刪除對應的用戶 然后才能執行對應的組的刪除操作) -
組密碼 : 組密碼的作用為用戶切換基本組 , 其設置工具為gpasswd
gpasswd [option] group-
a user : 將user添加至指定組中
-d user :將user從指定組中刪除
-A userlist : 設置有組管理權限的用戶列表
-
a user : 將user添加至指定組中
-
groups
[zhengzhou@CentOS68 ~]$ groups zhengzhou root 基本組和附加組 [zhengzhou@CentOS68 ~]$ newgrp root 切換基本組和附加組 [zhengzhou@CentOS68 ~]$ groups root zhengzhou [zhengzhou@CentOS68 ~]$ touch shangjie [zhengzhou@CentOS68 ~]$ ll shangjie -rw-r--r--. 1 zhengzhou root 0 Mar 31 11:07 shangjie
-
newgrp : 臨時切換基本組:如果用戶本不屬于此組,則需要組的密碼
-
修改用戶密碼屬性 : chage
-
chage [OPTION]… LOGIN
-d LAST_DAY 最近一次更改密碼(3) (使用較多)
-E –expiredate EXPIRE_DATE賬號失效日期(8)
-I –inactive INACTIVE密碼失效日期(7)
-m –mindays MIN_DAYS最短使用天數(4)
-M –maxdays MAX_DAYS最大使用天數(5)
-W –warndays WARN_DAYS失效前警告時間(6) -
其他命令:
chfn : 指定個人信息,修改內容 ; chfn changchun
chsh :指定shell ; chsh changchun /sbin/nologin
finger : 查看個人信息內容 ; finger changchun
-
chage [OPTION]… LOGIN
原創文章,作者:s,如若轉載,請注明出處:http://www.www58058.com/72306
幾乎學了的很多知識你都總結出來了,挺好的,繼續努力