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 08:50
下一篇 2016-09-02 20:50

相關推薦

  • 樹的遍歷和排序

    樹的遍歷和排序

    Linux干貨 2017-10-23
  • 推薦-LVS專題: LVS的工作模型和調度算法介紹

    LVS專題: LVS的工作模型和調度算法介紹 LVS專題: LVS的工作模型和調度算法介紹 前言 什么是負載均衡? 什么是LVS? LVS的架構: LVS的實現模型: NAT實現原理: DR實現原理: TUN實現原理: FULLNAT實現原理: LVS的調度算法 靜態調度算法(4種) 動態調度算法(6種): 總結 前言 本文大概介紹一下LVS的工作方式和實現…

    Linux干貨 2016-04-05
  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail 1)ls命令:顯示目錄文件   -a 顯示所有文件,包括隱藏文件  ~]# ls -a /etc.  &n…

    Linux干貨 2016-06-23
  • 計劃任務

              前要:Linux的計劃任務主要分為三塊。單一的執行一次計劃任務,系統自動的選擇空閑時間去執行特定的任務, 周期性的執行相關任務,下面就此三塊做簡要的描述。 一:單一的計劃任務at      &nbsp…

    2017-07-01
  • 幾個常用命令、inode及第二周作業

    一、cd命令 1、功能 用來進行不同目錄間的切換,屬于內部命令。 2、語法 cd  [-L|-P]  [dir] -L : 如果要切換到的目錄是一個符號鏈接,就直接切換到符號鏈接名表示的目錄(默認)。 -P : 如果要切換到的目錄是一個符號鏈接,直接接切換到符號鏈接指向的目標目錄。 3、用法說明 cd 或 cd ~ :進入當前用戶的主目錄…

    Linux干貨 2016-08-02
  • Linux基礎知識之根下各目錄的介紹

    /bin  :所有用戶使用的基本用戶命令文件,二進制格式的 /sbin :供系統管理使用的工具程序 /boot :引導加載器必須用到的各靜態文件:kernel initramfs(initrd),grub /dev  :存儲特殊文件或設備文件;設備的類型:字符設備,塊設備; /etc  :系統程序的靜態配置文件,只能為靜態的不能…

    Linux干貨 2016-07-10

評論列表(1條)

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

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

欧美性久久久久