用戶組和權限管理(一)一、雜項知識整理1、tee命令:從標准輸入讀取送至標准輸出並保存到文件中,也可以發送至管道:
[root@localhost testdir]# cat /etc/issue | tee /testdir/tee.txt
CentOS 7.2
Kernel \r on an \m
[root@localhost testdir]# cat tee.txt
CentOS 7.2
Kernel \r on an \m
[root@localhost testdir]# cat /etc/issue | tee tee.txt | tr 'a-z' 'A-Z'
CENTOS 7.2
KERNEL \R ON AN \M2、用戶標識:UID:十六位二進制數字 0-65535管理員為0 普通用戶為1-65534系統用戶1-499(centos6)1-999(centos7)
登錄用戶 500-6w 1000-6w
同一個UID可以有多個用戶
3、加密算法:
對稱加密,加密和解密使用同一個密碼
非對稱加密,加密和解密使用一對密鑰
公鑰 私鑰
單向加密,只能加密不能解密:提取數據特征碼
定長輸出:
雪崩效率:初始條件微小改變,記過發生巨大改變
echo “asdfasdf” | md5sum/sha512sum
[root@localhost testdir]# echo "sadf" | md5sum
26c30bbc936c12d60c8befb0a5bea194 -
[root@localhost testdir]# echo "sadf" | sha512sum
537ba4bac71e332b3ef10dc82b67f11f14f7a9ffc2399c6401a52d9ed20372e290a3c06efd8177195b5ad 814dc6f5017f
acbabe218f61c83ee5518180eb5d497 - 算法:MD5:message digest,128bitssha1:secure hash algorithm,160bits
sha 224 256
sha 384 512等等
在計算時加salt,添加的隨機數
4、/etc/passwd 文件格式如下
name:passwd:UID:GID:GECOS:Directory:shell
zhangsan:x:1001:1001::/home/zhangsan:/bin/bashpasswd:可以是加密的密碼,也可以是占位符xGECOS:用戶注釋信息
directory:家目錄
shell:用戶默認shell
/etc/shadow文件格式:
用戶名:算法和加密密碼(一般用sha512加密):最近一次修改時間(從1970年到密碼最近一次被更改的天數):最短使用期限(密碼再過幾天可以被更改,0表示隨時):最長使用期限:警告期(過期之前提前警告):過期期限:保留字段
zhangsan:$6$xcuKLAdE$DGFJeE2Qy5XubtEorWiI5oDPwmankBTnqayZdomdeddxKNKK7O55Yul6c3mnTHP58rc5TqXh1mj8/3atvdrtm0:17008:0:99999:7:::
shiting:!!:17008:0:99999:7::: shiting用戶的算法和密碼為!!,說明此用戶沒有設置密碼。兩個歎號都去掉之後可以無密碼登錄,否則不可用。usermod -L USER此命令就是在用戶密碼上加!,即鎖定用戶,使之無法登陸,本身有無密碼皆可操作,usermod -U USER 解鎖用戶。/etc/group 組信息庫group_name:passwd:GID:user_list(該組的用戶成員,以此組為附加組的用戶的用戶列表)
5、兩個命令:pwconv和pwunconv:將passwd中的密碼轉換到shadow中顯示。將shadow中的密碼顯示在passwd中。
注意:四個用戶和組子相關文件是:/etc/passwd /etc/shadow /etc/group /etc/gshadow。沒有gpasswd這個文件。
6、finger命令:用於顯示用戶的相關信息:用戶名,用戶全名,終端設備號和登錄時間等信息:
[root@localhost testdir]# finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
On since 六 7月 30 17:40 (CST) on tty1 42 seconds idle
On since 六 7月 30 11:30 (CST) on pts/0 from 172.18.16.71
2 seconds idle
Mail last read 六 7月 30 13:00 2016 (CST)
No Plan.二、命令詳解及事例1、id命令:顯示用戶的真是和有效id信息
用戶名 顯示uid gid等信息
-u 只顯示有效用戶uid
-g 顯示用戶的基本組id
-G 顯示用戶所屬的所有組id
-n 顯示名稱而非id,例如ng則是顯示id和名字
[root@localhost testdir]# id postfix
uid=89(postfix) gid=89(postfix) 組=89(postfix),12(mail)
[root@localhost testdir]# id -u shiting
1003
[root@localhost testdir]# id -g shiting
1003
[root@localhost testdir]# id -G shiting
1003
[root@localhost testdir]# id -n shiting
id: 以默認格式無法只顯示名稱或只顯示真實ID。2、chage命令:修改賬號和密碼的有效期限:-m 密碼可更改的最小天數。-M 密碼保持有效的最大天數
-W 用戶密碼到期前,題前收到警告信息的天數
-E 賬號到期的日期,過了這天,賬號將不再可用
-d 上次更改的日期
-I 停滯時期,如果一個密碼已過期這些天,那麼此賬號將不可用
-h 幫助信息
-l 列出當前的設置,由非特權用戶來確定他們的密碼或賬號何時過期
[gejingyi@localhost ~]$ chage -l gejingyi
最近一次密碼修改時間:7月 30, 2016
密碼過期時間:從不
密碼失效時間:從不
帳戶過期時間:2月 12, 1970
兩次改變密碼之間相距的最小天數:0
兩次改變密碼之間相距的最大天數:99999
在密碼過期之前警告的天數:7
[root@localhost testdir]# chage -l gejingyi
最近一次密碼修改時間 :7月 29, 2016
密碼過期時間 :12月 11, 2017
密碼失效時間 :12月 18, 2017
帳戶過期時間 :5月 05, 2018
兩次改變密碼之間相距的最小天數 :50
兩次改變密碼之間相距的最大天數 :500
在密碼過期之前警告的天數 :7 更改時間用時間段,更改日期用准確日期TTTT-MM-DD;也可以通過更改配置文件保證之後創建的用戶都按照參數設置為准:文件有兩個,一個是/etc/login.defs:PASS_MAX_DAYS99999
PASS_MIN_DAYS0
PASS_MIN_LEN5
PASS_WARN_AGE7
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
SYS_UID_MIN 201
SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
SYS_GID_MIN 201
SYS_GID_MAX 999 一個為/etc/default/useradd:[root@localhost testdir]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=42
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes 其中第二個文件也為我們使用useradd命令添加新用戶時進行默認配置,包括shell類型和默認郵箱建立以及家目錄位置等,我們可以在此修改參數來更改useradd命令使用時的默認配置。三、課後作業及練習見下篇
本文出自 “靜軒丶” 博客,謝絕轉載!