馬哥教育網絡班20期+第3周課程練習

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

法一:

who | cut -d ‘ ‘ -f 1 | tail -u

法二:

who | cut -d ’’-f 1 | uniq

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

 last | head -n 1

馬哥教育網絡班20期+第3周課程練習 

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

法一:

cat /etc/passwd | cut -d ':' -f 7 | uniq -c | sort -n | tail -1 | cut -d " " -f 7

法二:

cat /etc/passwd | cut -d ':' -f 7 | uniq -c | sort -rn | head -1 | cut -d ' ' -f 7

馬哥教育網絡班20期+第3周課程練習 

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

 cat /etc/passwd |sort -t: -k3 -n | tail -n 10 | tr ‘a-z’ ‘A-Z’ > /tmp/maxusers.txt

馬哥教育網絡班20期+第3周課程練習 

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

法一:

ifconfig | head -n2 | tail -n 1 | cut -d: -f2 | tr -d Bcast

(這個只匹配出了第一個IP)

馬哥教育網絡班20期+第3周課程練習 

法二:

ifconfig | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1

馬哥教育網絡班20期+第3周課程練習 

法三:

ifconfig | grep -oP '(?<=(inet addr:)).*?(?=\s+)'

馬哥教育網絡班20期+第3周課程練習 

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

法一:

ls /etc | grep '.conf$' | tr 'a-z' 'A-Z' > /tmp/etc.conf

馬哥教育網絡班20期+第3周課程練習 

法二:

ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf

這個方法使得文件名前面多了路徑/etc,所以還是上面的方法較好

馬哥教育網絡班20期+第3周課程練習 

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

ls  /var | wc -w

馬哥教育網絡班20期+第3周課程練習 

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

 cat /etc/group | sort -t: -k3 -n | head -10 | cut -d: -f1

馬哥教育網絡班20期+第3周課程練習 

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

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

馬哥教育網絡班20期+第3周課程練習 

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

   (1)、創建組distro,其GID2016;

groupadd -g 2106 distro

   (2)、創建用戶mandriva, ID號為1005;基本組為distro;

useradd -u 1005 -g distro mandriva

   (3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;

useradd -u 1100 -d /home/linux mageia

   (4)、給用戶mageia添加密碼,密碼為mageedu;

echo 'mageedu' | passwd --stdin mageia

馬哥教育網絡班20期+第3周課程練習 

   (5)、刪除mandriva,但保留其家目錄;

userdel mandriva

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

[root@localhost ~]# groupadd peguin
[root@localhost ~]# useradd -u 2002 -G distro,peguin slackware

   (7)、修改slackware的默認shell/bin/tcsh;

usermod -s /bin/tcsh slackware

   (8)、為用戶slackware新增附加組admins;

useradd -aG admins slackware

   (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;

passwd -n 3 -x 180 -w 3 slackware

馬哥教育網絡班20期+第3周課程練習 

   (10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguinnova

useradd -u 3003 -g clouds -G peguin,nova openstack

馬哥教育網絡班20期+第3周課程練習 

   (11)、添加系統用戶mysql,要求其shell/sbin/nologin;

useradd -s /sbin/nologin mysq

   (12)、使用echo命令,非交互式為openstack添加密碼。

echo “mima” | passwd --stdin openstack

馬哥教育網絡班20期+第3周課程練習 

 

用戶和組管理類命令總結

一、用戶管理

1、用戶創建:useradd

2、用戶屬性修改:usermod

3、修改用戶屬性:chage

4、刪除用戶:userdel

5、給用戶添加密碼:passwd

6、切換用戶或以其他身份執行:su

二、組管理

7、組創建:groupadd

8、組屬性修改:groupmod

9、組刪除:groupdel

10、組密碼:gpasswd

11、臨時切換基本組:newgrp

三、查看信息

12、查看用戶相關的ID信息:id

13、其他查看信息的命令:chfn、chsh、finger、pwck、

14、查看系統當前登錄用戶信息:whowhoamiw、last

 

一、用戶管理

1、用戶創建:useradd

用法:useradd [OPTION] LOGIN (默認設定:/etc/default/useradd文件中)

選項:

            -u UID        : [UID_MIN, UID_MAX],定義在/etc/login.defs

            -g GID                  : 指明用戶所屬基本組,可為組名,也可以為GID

            -c COMMENT   : 用戶的注釋信息;

            -d /PATH/TO/HOME DIR

             : 以指定的路徑為家目錄;

            -s SHELL              : 指明用戶的默認shell程序,可用列表在/etc/shells文件中;

            -G GROUP1[,GROUP2,…[,GROUPN]]

             : 為用戶指明附加組;組必須實現存在;

            -r          :創建系統用戶(在CentOS 6 ID<500  CentOS 7 ID<1000

 

2、用戶屬性修改:usermod

用法:usermod [OPTION] LOGIN

選項:

            -u UID                :新UID

            -g GID                : 新基本組

            -c COMMENT  : 新的注釋信息;

            -d HOME      : 新的家目錄;原來家目錄中的文件不會同時移動至新的家目錄;

            若要移動,則同時使用-m選項。

            -s SHELL   : 新的默認shell程序(可用列表在/etc/shells文件中)

            -G GROUP1[,GROUP2,…[,GROUPN]] : 新附加組;原來的附加組將會被覆蓋;

                     若保留原有,則要同時使用-a選項,表示append

            -l login_name : 新的名字;

            -L    lock指定用戶

            -U    unlock指定用戶

            -e YYYY-MM-DD  : 指明用戶賬號過期日期;

            -f INACTIVE   : 設定非活動期限;

 

3、修改用戶屬性:chage(更改用戶密碼過期信息等)

用法:chage [OPTION]… LOGIN

選項:

                -d LAST_DAY(最近一次修改密碼時間)

                -E, –expiredate EXPIRE_DATE(過期時間)

                -I, –inactive INACTIVE(非活動期限)

                -m, –mindays MIN_DAYS(最小使用天數)

                -M,–maxdays MAX_DAYS(最大使用天數)

                -W,–warndays WARN_DAYS(警告天數)

4、刪除用戶:userdel

用法:userdel [OPTION]… login

選項:-r : 刪除用戶家目錄

5、給用戶添加密碼:passwd

用法:passwd [OPTIONS] UserName(修改指定用戶的密碼,僅root用戶權限)

      passwd : 修改自己的密碼

選項:

            -l    :鎖定指定用戶

            -u    :解鎖指定用戶

            -n mindays  :指定最短使用期限

            -x maxdays  :最大使用期限

            -w warndays  :提前多少天開始警告

            -i inactivedays :非活動期限

            –stdin  :從標準輸入接收用戶密碼

            echo PASSWORD | passwd –stdin USERNAME

6、切換用戶或以其他身份執行:su

用法:su [options…] [-] [user [args…]]

1)切換用戶的方式:

su Username: 非登錄式切換,即不會讀取目標用戶的配置文件;

su – UserName:登錄式切換,會讀取目標用戶的配置文件;完全切換;

Note:  root su至其他用戶無需密碼;非root用戶切換是需要密碼)

(2)換個身份執行命名:

用法:su [-] UserName -c COMMAND

選項:

    -l : su -l UserName 相當于 su – UserName

 

 

二、組管理

7、組創建:groupadd

用法:groupadd [選項]… 組名

選項:

        -g GID:指明GID號;[GID_MIN,GID_MAX]

        -r: 創建系統組(CentOS 6ID<500  CentOS 7: ID<1000

8、組屬性修改:groupmod

usermod [OPTION]… login

選項:

        -g GID:新的GID號;

        -n group_name:新組名

9、組刪除:groupdel

用法:groupdel GROUP

10、組密碼:gpasswd

用法:gpasswd [OPTION] GROUP

選項:

            -a user:將用戶user添加至指定組中

            -d user:刪除用戶user的以當前組為組名的附加組

            -A user1,user2,…: 設置有管理權限的用戶列表

11、臨時切換基本組: newgrp

如果用戶本不屬于此組,則需要組密碼

 

三、查看信息

12、查看用戶相關的ID信息:id

用法:Id [OPTION]… [USER]

選項:

        -u: UID

        -g: GID

        -G: Groups

        -n: Name

13、其他查看信息的命令:chfn、chsh、finger、pwck

1chfn:(change your finger information改變finger指令顯示的信息

[root@localhost ~]# chfn tom
Changing finger information for tom.
Name []: money
Office []: 110
Office Phone []: 120
Home Phone []: 119
 
Finger information changed.
[root@localhost ~]# tail -1 /etc/passwd
tom:x:3005:3005:money,110,120,119:/home/tom:/bin/bash

2chshchange your login shell 改變使用者 shell 設定

如:查看安裝的shell

[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

3finger查詢用戶的信息,通常會顯示系統中某個用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息

4pwck:檢查密碼文件中有無有問題的用戶存在

(檢查/etc/passwd /etc/shadow,格式正確、數據有效將會提示用戶刪除格式不正確或者有其他錯誤的項)

用法:pwck [OPTION] [passwd [shadow]]

 

14查看系統當前登錄用戶信息:who、whoamiw、last

(1)whoami  

顯示當前登錄有效用戶【顯示登入的用戶名】

注意:使用su命令改變用戶,whoami所顯示的結果將隨之改變。

馬哥教育網絡班20期+第3周課程練習 

(2)who

系統當前登錄所有登錄會話

【用戶名、tty終端名、登錄時間,用戶登錄系統所使用的鏈接地址】

(3)w

系統當前登錄所有會話及所做操作

【用戶名、tty終端名、遠程主機地址、用戶登錄系統的時間、空閑時間(作用不大)、 附加到tty終端的進 程所用的時間(JCPU時間)、當前進程所用時間(PCPU時間)、用戶當前正在使用的命令】

(4)last 

顯示特定用戶登錄系統的歷史記錄

【用戶名、tty終端名、歷史登錄時間日期、登出時間日期、總工作時間】

 

原創文章,作者:二極管,如若轉載,請注明出處:http://www.www58058.com/19828

(0)
二極管二極管
上一篇 2016-06-26 22:39
下一篇 2016-06-26 22:40

相關推薦

  • 解決線上服務器httpd無法反向代理resin的解決方法

    一、簡述   前兩天有后端的小伙伴跟我反映說使用httpd反向代理resin時遇到的問題,在做網站管理后臺的時候,發起的http的put,delete的請求無法經由resin傳遞到后面的dbserver。當時的第一反應就是httpd的反向代理設置出現的問題,但是關于httpd反代resin的內容在網上機會搜索不到。于是,查看httpd反代tomca…

    Linux干貨 2017-01-11
  • N26-第三周

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意;同一個用戶登錄多次,則只顯示一次即可。[root@localhost ~]# whoroot     tty1         2017-03-03 19:28root     pts/0     &nbsp…

    Linux干貨 2017-03-04
  • bash腳本編程

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell;分別統計這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash declare -i loginSum=0; declare -i nologinSum=0; for x in `cat /etc/passwd|cut -d: -f 7` do if [ “/sb…

    Linux干貨 2017-10-31
  • 三大家族輕松管理CentOS 7網絡屬性配置

    一、簡單介紹        在CentOS 7中對網絡管理還是有不少變化的,例如管理服務的命令變為systemctl,許多命令可以更改后直接生效,還有許多獨有的工具,本文以CentOS 6與CentOS 7對比進行講解,下面現總體介紹一下網絡屬性配置工具。    &nb…

    Linux干貨 2016-04-25
  • 淺談DNS基本原理以及實現方法(二)

             DNS作為互聯網服務的一個基礎型服務,了解和掌握DNS服務的原理和配置將是每一個運維人員必備的技能,這就如同闖蕩江湖的俠客不但要有的招式,還要懂的運用這些招式的心法一樣,接下來我將從DNS的正反向解析、主從同步、子域授權以及Bind view這四個方面來揭開它神…

    Linux干貨 2015-12-19
  • 基于samba服務的wordpress站點

    實驗要求:             (1) samba server導出/data/app/web,在目錄中提供wordpress;     (2) samba  client掛載nfs server導出的文件…

    2017-06-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:16

    寫的很好,可以多注意一下排版問題,加油

欧美性久久久久