歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux學習博客11

用戶組和權限管理(一)一、雜項知識整理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 \M
2、用戶標識: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/bash
passwd:可以是加密的密碼,也可以是占位符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命令使用時的默認配置。三、課後作業及練習

見下篇

本文出自 “靜軒丶” 博客,謝絕轉載!

Copyright © Linux教程網 All Rights Reserved