Linux用戶組管理

馬哥網絡教育21期+第三周練習

用戶及用戶組

用戶配置文件
    用戶:UID,/etc/passwd
    組:GID,/etc/group

密碼配置文件
    用戶:/etc/shadow
    組:/etc/gshadow

用戶類別
    管理員:0
    普通用戶:1-65535
        系統用戶:1-499(Centos6) 或 1-999(Centos7)
        一般用戶:500-60000(Centos6) 或 1000-60000(Centos7)

用戶組類別
    管理員組:
    普通組:
        系統組:系統服務使用組
        一般組:自定義組
    
    私有組:創建用戶時,系統自動創建與用戶同名的組
    基本組:用戶的默認組
    附加組,額外組:默認組以外的其它組

用戶管理文件

/etc/passwd 文件結構  root:x:0:0:root:/root:/bin/bash
    name:帳號名稱
    password:密碼    UID:用戶標識    GID:基本組標識    GECOS:注釋
    directory:家目錄
    shell:默認登錄shell

用戶密碼管理文件

/etc/shadow 文件結構
  root:$6$SVBjY4Zth54iBbW6$s8ASSLoZO2fkkeR40V6tSSWadkE...:16992:0:99999:7:::
    login name:登錄名
    encrypted password:加密的密碼
    date of last password change:最近修改密碼的日期    minimum password age:密碼最短使用期限
    maximum password age:密碼最長使用期限    password warning period:密碼過期前的警告周期    password inactivity period:密碼過期后的寬限期限    account expiration date:帳號失效日期
    reserverd field:保留字段

密碼加密方法:
    對稱加密:加密和解密使用同一個密碼
    公鑰加密:密碼成對出現,一個公鑰(public key),一個私鑰(secret key)
    單向加密,散列加密:提取數據特征碼,用于數據完整性校驗        1、雪崩效應:初始條件的微小改變將會引起結果的巨大變化        2、定長輸出            MD5:Message Digest,128位定長輸出            SHA1:Secure Hash Algorithm,160位定長輸出

用戶管理

  • useradd:添加用戶帳號

    useradd [options] USERNAME
        -u UID:指定用戶ID    -g GID:指定用戶基本組    -G GID,...:指定用戶附加組    -c "COMMENT":添加注釋    -d /Path/:指定用戶家目錄    -s /SHellPath/:指定使用Shell    -m:強制創建用戶家目錄    -k:用戶使用shell環境的配置文件    -M:不創建用戶家目錄    -r:添加系統用戶
        -M 使用:/etc/login.defs    -k 使用:/etc/skel/
  • userdel:刪除用戶帳號

    userdel [option] USERNAME
        -r:刪除用戶同時刪除用戶家目錄
  • id:查看帳號屬性信息

    id [options] [USERNAME]
        -g:顯示基本組ID    -G:顯示所有組ID    -u:顯示用戶ID    -n:顯示名稱
  • finger USERNAME:查看用戶帳號信息

  • usermod:修改用戶帳號屬性

    usermod [options] LOGIN
        -u UID:修改用戶組ID    -g GID:修改用戶基本組    -G GID:修改用戶附加組,默認替換原有附加組    -a -G:增加用戶附加組    -c:修改指定注釋    -d:修改用戶家目錄    -d -m:修改用戶家目錄,并移動原有目錄下內容至新目錄    -s:修改用戶shell    -l:修改用戶登錄名    -L:鎖定用戶    -U:解鎖用戶
  • chsh:修改用戶默認Shell

  • chfn:修改用戶注釋

  • passwd:修改帳號密碼

    passwd [USERNAME]
        --stdin:從標準輸入傳遞密碼    -l:鎖定用戶    -u:解鎖用戶    -d:刪除用戶密碼
  • pwck:檢查用戶完整性

  • chage:改變用戶密碼過期信息

    -d:最近一次的修改時間-E:過期時間-I:非活動時間-m:最短使用期限-M:最長使用期限-W:警告時間

組管理

  • groupadd:創建組帳號

    -g GID-r:添加系統組
  • groupmod:修改組屬性

    -g GID-n GRPNAME:修改組登錄名
  • groupdel:刪除組帳號

  • gpasswd:設定組密碼

  • newgrp:切換用戶基本組

練習

1、列出當前系k統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
    
    ]# who |cut -d '' -f 1 |sort |uniq
    ]# who |awk '{print $1}' |sort |uniq

2、取出最后登錄到當前系統的用戶的相關信息。
    
    ]# id `last |head -1 |cut -d ' ' -f 1`
    ]# finger `last |head -1|awk '{print $1}'`

3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
    
    ]# cut -d ":" -f 7 /etc/passwd |sort |uniq -c |sort -nr |head -1
    ]# awk -F ":" '{print $7}' /etc/passwd |sort |uniq -c |sort -n |tail -1

4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
    
    ]# sort -t : -k 3 -n /etc/passwd |tail -10 |tr 'a-z' 'A-Z' > /tmp/maxusers.txt

5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    
    ]# ifconfig |grep -o "inet.*" |egrep -v '(inet6|127.0.0.1)' |cut -d ' ' -f2
    ]# ifconfig |grep -o "inet.*" |grep "broadcast" |cut -d ' ' -f 2
    ]# ifconfig |grep "broadcast" |awk '{print $2}'

6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
    
    ]# ls /etc/ |grep ".conf$" |tr 'a-z' 'A-Z' > /tmp/etc.conf7、顯示/var目錄下一級子目錄或文件的總個數。
    
    ]# ls -lA /var |wc -l8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
    
    ]# sort -t : -k 3 -n /etc/group |head -10 |awk -F ":" '{print $1}'
    ]# sort -t : -k 3 -n /etc/group |head -10 |cut -d ":" -f 1

9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
    
    ]# cat /etc/fstab /etc/issue > /tmp/etc.test
    ]# cat /etc/{fstab,issue} > /tmp/etc.test10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
 (1)、創建組distro,其GID為2016;
    ]# groupadd -g 2016 distro
    
 (2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
    ]# useradd -u 1005 -g 2016 mandriva
    
 (3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
    ]# useradd -u 1100 -d /home/linux mageia
    
 (4)、給用戶mageia添加密碼,密碼為mageedu;
    ]# echo "mageedu" |passwd mageia --stdin
    
 (5)、刪除mandriva,但保留其家目錄;
    ]# userdel mandriva
    
 (6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
    ]# groupadd peguin && useradd -u 2002 -g distro -G peguin slackware
    
 (7)、修改slackware的默認shell為/bin/tcsh;
    ]# usermod -s /bin/tcsh slackware
    ]# chsh -s /bin/tash slackware
    
 (8)、為用戶slackware新增附加組admins;
    ]# groupadd admins && usermod -a -G admins slackware
    
 (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
    ]# echo "mageedu" |passwd slackware --stdin && chage -m 3 -M 180 -W 3 slackware
    
 (10)、添加用戶openstack,其ID號為3003,基本組為clouds,附加組為peguin和nova;
    ]# groupadd clouds && groupadd nova && useradd -u 3003 -g clouds -G peguin,nova openstack
    
 (11)、添加系統用戶mysql,要求其shell為/sbin/nologin;
    ]# useradd -r -s /sbin/nologin mysql
    
 (12)、使用echo命令,非交互式為openstack添加密碼。
    ]# echo "openstack" |passwd openstack --stdin


原創文章,作者:N21-garyshan,如若轉載,請注明出處:http://www.www58058.com/42977

(0)
N21-garyshanN21-garyshan
上一篇 2016-09-02
下一篇 2016-09-02

相關推薦

  • 第二周作業

    一、文件管理命令以及演示方法  1.1. mkdir命令     作用:創建文件夾     基本用法:mkdir [OPTION]… DIRECTORY…     參數:   &nbsp…

    Linux干貨 2016-08-22
  • 解決Redis 延遲故障

    前一段時間redis客戶端在使用php connect 連接redis 的經常報一個redis server went away 等信息。 首先想到的想到的是reids超時設置的問題,timeout、tcp-keepalive、以及php的default_socket_timeout時間  127.0.0.1:6381> CONFI…

    Linux干貨 2016-02-14
  • 管道:管道符;cat和more命令 重定向:文件標識符:I/O重定向符號及其用法;exec命令;代碼塊重定向 命令行處理:命令行處理流程;eval命令 管道: 管道是Linux編程中最常用的技術之一,Shell編程中豎杠符號:“|” command1 | command2 | command3 | … |commandn command1到commandn表…

    Linux干貨 2016-08-05
  • MySQL應用管理

    這篇文章主要講述基本的SQL語句,以供新手參考使用,不過最好的辦法還是查閱官方文檔和help命令。 進入正題 什么是SQL?        SQL結構化查詢語言,是關系型數據庫查詢和管理語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢,更新和管理關系型數據庫系統。 SQL的分類 &nbsp…

    Linux干貨 2015-09-23
  • tcpdump輸出詳解

    在這里不得不再吐槽下國內整個IT粗糙浮躁,度娘下來的中文文檔幾盡抄襲~google下來的文檔英文文檔質量遠高于國內中文文檔.用ie或沒有安裝插件的瀏覽器訪問,不然可能會有其它訪問請求數據干擾分析 IP數據包結構 TCP數據包結構 // tcpdump需root權限 # tcpdump -x -i eth1 i…

    Linux干貨 2015-04-15
  • M22 使用非對稱密鑰實現ssh自動登陸

    一 實驗目的 一般在用戶使用ssh客戶端登陸ssh服務器時需要使用用戶名和密碼,本實驗使用非對稱加密的方式實現了無密碼登陸ssh服務器。 二 實驗流程  、 1 在客戶端生成非對稱密鑰對 2 將非對稱密鑰中的公鑰發送給ssh服務器端相應的帳號 3 當客戶端通過ssh協議與服務器端發起連接時,客戶端將私鑰加密過的簽名發送給服務器端,服務器端使用客戶端…

    2017-04-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-19 17:58

    寫的很好,如果在每個選項下面,再來一個例子的話會更好的

欧美性久久久久