用戶組和權限管理(一)一、雜項知識整理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,128bits
sha1: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命令使用時的默認配置。三、課後作業及練習
見下篇
本文出自 “靜軒丶” 博客,謝絕轉載!