馬哥教育網絡班21期-第3周課程練習

3周課程練習

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

# who | cut -d' ' -f1 |uniq

blob.png

blob.png

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

# who | tail -1

blob.png

# who | tail -1 | cut -d' ' -f1 | id

blob.png

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

# cat /etc/passwd | cut -d':' -f7 | uniq -c | sort -n | tail -1

blob.png

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

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

blob.png

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

# ifconfig | grep "inet addr" | head -1 | cut -d':' -f2 | cut -d' ' -f1

blob.png

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

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

blob.png

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

# ls /var | wc -l

blob.png

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

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

blob.png

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

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

blob.png

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

10.1、useradd用戶創建

格式:useradd [options] LOGIN

選項:

-u:指定用戶的UID號,要求未被使用

-d:指定用戶的宿主目錄位置

-e:指定用戶的賬戶失效時間

-g:指定用戶的基本組名(或使用GID號)

-G:指定用戶的附加組名(或使用GID號)

-M:不建立使用者目錄,即使/etc/login.defs系統檔設定要建立使用者目錄

-s:指定用戶的登陸shell

-r: 創建系統用戶

CentOS 6: ID<500

CentOS 7: ID<1000

10.2groupadd創建組

格式: groupadd [OPTION]… group_name

選項:

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

-r: 創建系統組;

CentOS 6: ID<500

CentOS 7: ID<1000

10.3、usermod用戶屬性修改

格式:   usermod [OPTION] login

選項:

-u UID: 新UID

-g GID: 新基本組

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;

-s SHELL:新的默認SHELL;

-c 'COMMENT':新的注釋信息;

-d HOME: 新的家目錄;原有家目錄中的文件不會同時移動至新的家目錄;若要移動,則同時使用-m選項;

-l login_name: 新的名字;

-L: lock指定用戶

-U: unlock指定用戶

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

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

10.4、userdel用戶刪除

格式:userdel [-r] login

選項:

    -r: 刪除用戶家目錄

10.5、groupmod組屬性修改

格式: groupmod [OPTION] group

選項:

    -n group_name: 新名字

-g GID: 新的GID

10.6、groupdel組刪除

    格式:groupdel group

10.7、passwd給用戶添加密碼

格式:passwd [OPTIONS] UserName—修改指定用戶的密碼,僅root用戶權限

      passwd–修改自己的密碼

選項:

-l: 鎖定指定用戶

-u: 解鎖指定用戶

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

-x maxdays:最大使用期限

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

-i inactivedays:非活動期限;

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

          echo "PASSWORD" | passwd –stdin USERNAME

10.8、gpasswd組密碼修改

格式: gpasswd [OPTION] GROUP

選項:

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

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

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

newgrp命令:臨時切換基本組;如果用戶本不屬于此組,則需要組密碼;

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

格式:id [OPTION]… [USER]

選項:

-g USERNAME:查看用戶的gid 

-u USERNAME:查看用戶的uid 

-G USERNAME:查看用戶的所有組 

-un:顯示當前用戶的用戶名 

-gn:顯示當前用戶的組名

10.10、su切換用戶或以其他用戶身份執行命令

格式:su [options…] [-] [user [args…]]

切換用戶的方式:

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

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

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

換個身份執行命令:

su [-] UserName -c 'COMMAND'

選項:

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

10.11、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:警告時間 

10.12、chfn改變finger命令顯示的信息

格式:chfn [OPTIONS] [username]

選項:

-f或–full-name:設置真實姓名;

-h或–home-phone:設置家中的電話號碼;

-o或–office:設置辦公室的地址;

-p或–office-phone:設置辦公室的電話號碼; –

u或–help:在線幫助;

-v或-version:顯示版本信息。

10.13、chsh更換登錄系統時使用的shell

格式:chsh [ OPTIONS] [ username ]

選項:

-s<shell 名稱>或–shell<shell 名稱>:更改系統預設的shell環境。;

-l或–list-shells:列出目前系統可用的shell清單;

-u或–help:在線幫助;

-v或-version:顯示版本信息。

10.14、finger查看用戶賬戶信息

格式:finger [OPTIONS] [username]

選項:

-s 顯示用戶的注冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。

-l 除了用-s選項顯示的信息外,還顯示用戶主目錄、登錄shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。

-p 除了不顯示.plan文件和.project文件以外,與-l選項相同。

 

(1)、創建組distro,其GID為2016;

# groupadd -g 2016 distro

blob.png

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

  # useradd -u 1005 -g distro mandriva

blob.png

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

  # useradd -u 1100 -d /home/linux mageia

 blob.png

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

  # echo "mageedu" | passwd –stdin mageia

blob.png

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

  # userdel mandriva

  blob.png

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

   # groupadd peguin

# useradd -u 2002 -g distro -G peguin slackware

  blob.png

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

  # usermod -s /bin/tcsh slackware

  blob.png

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

  # groupadd admins

  # usermod -a -G admins slackware

blob.png

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

  # echo "slackware" | passwd –stdin slackware

 # passwd -n 3 -x 180 -w 3 slackware

blob.png

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

  # groupadd clouds

  # groupadd nova

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

blob.png

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

  # useradd -r -s /sbin/nologin mysql

blob.png

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

# echo "openstack" | passwd –stdin openstack

blob.png

原創文章,作者:N21_我愛羅,如若轉載,請注明出處:http://www.www58058.com/24106

(0)
N21_我愛羅N21_我愛羅
上一篇 2016-07-16
下一篇 2016-07-16

相關推薦

  • linux三劍客之grep

    linux三劍客之grep        所謂三劍客的工具有“grep”、“sed” 、“awk”,他們都是不謀而合的文本搜索查找處理的強大工具。grep 是 Ken Thompson 寫的,他也是 Unix 的創造者。 gerp及正則表達式    grep全稱(GLobal search Regu…

    Linux干貨 2016-08-08
  • Linux命令中特殊符號的用法

    Linux命令中特殊符號的用法 在馬哥教育學習了將近一周的Linux運維,由最初對Linux系統的一無所知,到了解了Linux的發展歷程,學習了一些基本命令,驚嘆于Linux的強大功能。下面根據我學到的,介紹一下關于Linux命令中特殊符號的用法。 $的用法 1.$()或’’引用命令執行的結果 例如:如果我們想要創建一個以當前日期命名的目錄,可以執行 #mk…

    2017-07-15
  • linux基礎第二周

    1.?用chattr命令防止系統中某個關鍵文件被修改:# chattr +i /etc/resolv.conf 然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件…

    2017-09-09
  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干貨 2016-12-13
  • 通過paramiko模塊遠程抓取日志

        最近一直在學習python,可是工作中一直缺少機會用到這塊功能.最近接到一個需求需要拉取6臺客戶端的某一天jetty日志.因為jetty的日志是保存在jetty的log目錄下,以yyyy_mm_dd.stderrout.log的形式保存,所以我們只要創建一個腳本,傳入需要查詢日志的日期和需要查詢日志的主機IP及…

    Python干貨 2016-01-16
  • 第九周練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # nologin=$(awk -F: '$NF=="/sbin/nologin"{print $NF}…

    Linux干貨 2016-12-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-17 20:38

    寫的很好,排版還可以在改進一下,加油

欧美性久久久久