1. 程式人生 > >用戶管理命令及應用練習

用戶管理命令及應用練習

Linux 用戶管理

技術分享圖片
1、列出當前系統上所有已經登錄的用戶的用戶名,註意:同一個用戶登錄多次,則只顯示一次即可。

# who | cut -d‘ ‘ -f 1 | uniq

2、取出最後登錄到當前系統的用戶的相關信息。

# cat /etc/passwd | grep "^`last -1 | cut -d‘ ‘ -f1 | head -1`"

3、取出當前系統上被用戶當作其默認shell的最多的那個shell。

# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -nr | head -1

4、將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。

# cat /etc/passwd|sort -t‘:‘ -k3 -n|tail|tr [a-z] [A-Z] 2&>1/tmp/maxusers.txt

5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。

# ifconfig eno16777736 | grep  "\<inet\>" | cut -d‘ ‘ -f 10

6、列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。

# ls /etc | grep -o ".*\.conf$" | tr [a-z] [A-Z] >>/tmp/etc.conf

7、顯示/var目錄下一級子目錄或文件的總個數。

# ls -a /var/ | wc -l

8、取出/etc/group文件中第三個字段數值最小的10個組的名字。

# cat /etc/group | sort -t‘:‘ -k 3 -n | head | cut -d‘:‘ -f1

9、將/etc/fstab和/etc/issue文件的內容合並為同一個內容後保存至/tmp/etc.test文件中。

# cat /etc/fstab /etc/issue >>/tmp/etc.test

10、請總結描述用戶和組管理類命令的使用方法並完成以下練習:
useradd:創建新用戶

useradd [選項] 登錄名
        -u, --uid UID:指定UID;
        -g, --gid GROUP:指定基本組ID,此組得事先存在;
        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;
        -c, --comment COMMENT:指明註釋信息;
        -d, --home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄並重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
        -s, --shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
        -r, --system:創建系統用戶;
示例:
1、創建UID為2222屬主為gentoo 附加組為root的test用戶
# useradd -u 2222 -g gentoo -G root test
2、創建用戶指定家目錄為/home/googhome,默認shell為sh的系統用戶test1
# useradd -r -d /home/goodhome -s /bin/sh

userdel:刪除用戶及相關文件

userdel [選項] 登錄
        -r:刪除用戶時一並刪除其家目錄;
        -f:強制刪除用戶,不論用戶是否登錄;
示例:
1、刪除用戶test,但保留家目錄
# userdel test
2、刪除用戶test1,並刪除家目錄,且不論用戶是否登錄
# userdel -fr test1

passwd:創建用戶密碼

(1) passwd:修改用戶自己的密碼;
(2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;

    -l, -u:鎖定和解鎖用戶;
    -d:清除用戶密碼串;
    -e DATE: 過期期限,日期;
    -i DAYS:非活動期限;
    -n DAYS:密碼的最短使用期限;
    -x DAYS:密碼的最長使用期限;
    -w DAYS:警告期限;
示例:
1、修改test用戶密碼為[email protected]
# passwd test 
2、清除test1用戶的密碼,且設定新密碼最短使用期限為7天,最長試用期前為90天
# passwd test1 -d -n 7 -x 90

groupadd:創建新工作組

groupadd [選項] group_name

        -g GID:指定GID;默認是上一個組的GID+1;
        -r: 創建系統組;
示例:
1、創建組ID為2222的test系統組
# groupadd -r -g 2222 test

groupdel:刪除工作組

groupdel [選項] GROUP
示例:
1、刪除工作組test
# groupdel test

su:切換用戶身份

登錄式切換:會通過讀取目標用戶的配置文件來重新初始化
        su - USERNAME
        su -l USERNAME
    非登錄式切換:不會讀取目標用戶的配置文件進行初始化
        su USERNAME

    註意:管理員可無密碼切換至其它任何用戶;
示例:
1、以非登錄式切換方式登錄賬戶test
# su test
2、以登錄切換方式登錄賬戶test1
# su - tets1

usermod:修改用戶

usermod [選項] 登錄
        -u, --uid UID:修改用戶的ID為此處指定的新UID;
        -g, --gid GROUP:修改用戶所屬的基本組;
        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;
        -a, --append:與-G一同使用,用於為用戶追加新的附加組;
        -c, --comment COMMENT:修改註釋信息;
        -d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
        -m, --move-home:只能與-d選項一同使用,用於將原來的家目錄移動為新的家目錄;
        -l, --login NEW_LOGIN:修改用戶名;
        -s, --shell SHELL:修改用戶的默認shell;

        -L, --lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!";
        -U, --unlock:解鎖用戶的密碼;
示例:
1、修改test用戶的UID為3333,並增加test1的附加組且原有附加組不變
# usermod -u 3333 -aG tets1

chfn:改變用戶finger信息

  chfn [選項] [參數]
     -f: 設置全名
     -o:辦公地址
     -p:辦公電話
     -h:住宅電話
示例:
 設置test用戶全名為[email protected]
~# chfn -f tets [email protected]
  • chsh:改變用戶的登錄shell

    chsh[選項][參數]
    -l:顯示系統支持的shell
    -s:指定新的shell
    示例:
    設置新的shell為sh
    chsh -s /bin/sh
  • finger:查詢用戶信息

    finger:[選項][參數]
        -s:顯示用戶的信息
        -l:多行方式顯示用戶信息
  • gpasswd:工作組文件管理公戶

    組密碼文件:/etc/gshadow
    
        gpasswd [選項] group
            -a USERNAME:向組中添加用戶
            -d USERNAME:從組中移除用戶
  • groupmod:修改工作組信息

    groupmod [選項] GROUP
            -g GID:修改GID;
            -n new_name:修改組名;
  • newuesrs:批量創建用戶

    newuesrs[參數]
         參數指包含用戶信息的文本文件,且格式與“/etc/passwd”相同
  • chpasswd:批量更新密碼

       chpasswd:[選項]
             以交互式方式修改用戶密碼,且默認密碼為明文
             -e:加密密碼
             -m:以MD5加密代替DES
  • nologin:拒絕用戶登錄

        通過修改用戶的shell為/sbin/nologin並會給出默認提示,若要修改提示信息則修改/etc/nologin.txt文件
  • (1)、創建組distro,其GID為2016;

    ~# groupadd -g 2016 distro
  • (2)、創建用戶mandriva, 其ID號為1005;基本組為distro;

    ~# useradd -u 1005 mandriva -g distro
  • (3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;

    ~# useradd -u 1100 mageia -d /home/linux
  • (4)、給用戶mageia添加密碼,密碼為mageedu;

     ~ # passwd mageia
    Changing password for user mageia.
    New password:           #在此輸入新密碼mageia
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:    #在此重復輸入新密碼mageia
    passwd: all authentication tokens updated successfully.
  • (5)、刪除mandriva,但保留其家目錄;

      ~# userdel mandriva
  • (6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;

      ~# groupadd penguin    
      ~# useradd -u 2002 slackware -g distro -G penguin
  • (7)、修改slackware的默認shell為/bin/tcsh;

      ~# chsh slackware -s /bin/tcsh  
  • (8)、為用戶slackware新增附加組admins;

      ~# groupadd admins
      ~# usermod slackware -aG admins

用戶管理命令及應用練習