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

第三周課程練習

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

[root@localhost ~]# who | cut -f1 -d' ' | uniq 
root

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

[root@www ~]# id $(last | head -1 | cut -d" " -f1)
uid=0(root) gid=0(root) groups=0(root)

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

[root@localhost ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -k1 -n | tail -n1
     17 /sbin/nologin

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

[root@localhost ~]# sort -t: -k3 -n /etc/passwd | tail -10 | tr [[:lower:]] [[:upper:]] &> /tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt 
ALEX:X:505:506::/HOME/ALEX:/BIN/BASH
AROD:X:506:507::/HOME/AROD:/BIN/BASH
BASH:X:507:508::/HOME/BASH:/SBIN/NOLOGIN
TESTBASH:X:508:509::/HOME/TESTBASH:/SBIN/NOLOGIN
BASHER:X:509:510::/HOME/BASHER:/SBIN/NOLOGIN
NOLOGIN:X:510:511::/HOME/NOLOGIN:/SBIN/NOLOGIN
USER1:X:511:512::/HOME/USER1:/BIN/BASH
CENTOS:X:512:513::/HOME/CENTOS:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
TEST:X:4200000000:514::/HOME/TEST:/BIN/BASH

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

[root@localhost ~]# ifconfig | grep -o "\(\<[[:digit:]]\{1,3\}\>.\)\{3\}\<[[:digit:]]\{1,3\}" | head -1
10.201.106.129

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

[root@localhost ~]# ls -aR /etc/*.conf | tr [[:lower:]] [[:upper:]] > /tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf 
/ETC/ASOUND.CONF
/ETC/AUTOFS.CONF
/ETC/AUTOFS_LDAP_AUTH.CONF
/ETC/CAS.CONF
/ETC/DNSMASQ.CONF

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

[root@localhost ~]# ls /var | wc -l
22

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

[root@localhost ~]# sort -t: -k3 -n  /etc/group | head -10 | cut -d: -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

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

[root@localhost ~]# cat /etc/fstab /etc/issue /tmp/etc.test

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

    

    10.1 常用用戶管理命令:useradd、userdel、usermod、passwd、pwck、su。

       10.1.1 useradd:添加linux系統用戶,可在創建時復數其它參數,指定用戶的組,默認shell等信息;

                     命令格式:useradd [選項] 用戶名

                     常用選項:

                         -u UID:【UID_MIN,UID_MAX】,定義在/etc/login.defs;

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

                   -c“COMMENT":用戶的注釋信息:

                   -d /PATH/TO/HOME_DIR:以指定的路徑為家目錄;

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

                   -G GID:GROUP1[GROUP2,……[,GROUP]]]:為用戶指明附加組;組必須事先存在;

                   -r:創建系統用戶,(CentOS6 ID<500,CentOS7 ID<1000)

 10.1.2    userdel:刪除用戶及其相關目錄文件;

               命令格式:userdel  [選項]  用戶名

               常用選項:

                     r:刪除用戶時同時把它的家目錄刪除;

10.1.3     usermod:更改一個用戶的信息;

              命令格式:usermod [選項] 用戶名                   

              常用選項:

            -u UID:新UID

            -g GID:新基本組

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

            s SHELL:新的默認SHELL;

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

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

            -l login_name:新的登錄名

            -L:lock指定用戶

            -U:unlock指定用戶

  10.1.4 passwd:修改用戶密碼或鎖定解鎖用戶; 

                 命令格式:passwd [選項] 用戶名                   

                 常用參數:

                   -l:鎖定指定用戶

                   -u:解鎖指定用戶

                   -n min-days:命令最短使用期限;

                   -x maxdays:最大使用期限

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

                   -i  inactive-days:非活動期限,密碼過期后允許你多少天內登錄改密碼;

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

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

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

  10.1.5 pwck:用來驗證系統/etc/passwd和/etc/shadow文件的內容和格式完整性;

               命令格式:pwck [選項]  [passwd [ shadow ]]

               常用參數:

        -q:僅報告錯誤信息;

        -s:以用戶id排序

  10.1.6 su:切換用戶或以其他用戶身份執行命令;

              命令格式:su [OPTION]… [-] [用戶名 [ARG]…]

              切換用戶的方式:

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

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

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

            

    10.2 常用用戶組管理命令:groupadd、groupdel、groupmod、gpasswd。

       10.2.1 groupadd:創建一個新組,并可以通過其它選項輔助指定其GID;

                命令格式:groupadd [OPTION]……group_name

                常用參數:

                    -g GID:指明GID號;【GID_MIN,GID_MAX】    

                   -r:創建系統組:(CentOS6 ID<500,CentOS7 ID<1000)     

       10.2.2 groupdel:刪除一個組;

                命令格式:groupdel GROUP

       10.2.3 groupmod:組屬性修改

                命令格式:groupmod [選項]……組名

                常用參數:

                   -n group_name:新名字;

                   -g GID:新的GID;

       10.2.4 gpasswd設置組密碼,可以讓某些用戶通過輸入組密碼臨時加入某個組;

                命令格式:gpasswd [OPTION] GROUP

               常用參數:

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

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

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

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

    

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

[root@localhost ~]# groupadd -g2016 distro

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

[root@localhost ~]# useradd -g distro -u 1005 mandriva
[root@localhost ~]# id mandriva
uid=1005(mandriva) gid=2016(distro) 組=2016(distro)

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

[root@localhost ~]# useradd -u 1100 -d /home/linux mageia
[root@localhost ~]# ls /home 
123     alex    cc          mandriva  test      xx
123456  arod    centos      nologin   testbash  zz
456     bash    linux       qq        user1
789     basher  lost+found  ss        vv

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

[root@localhost ~]# echo 'mageedu' | passwd --stdin mageia
更改用戶 mageia 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。

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

[root@localhost ~]# userdel mandriva
[root@localhost ~]# ls /home
123     alex    cc          mandriva  test      xx
123456  arod    centos      nologin   testbash  zz
456     bash    linux       qq        user1
789     basher  lost+found  ss        vv

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

[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2016(distro) 組=2016(distro),2017(peguin)

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

[root@localhost ~]# usermod -s /bin/tcsh slackware
[root@localhost ~]# cat /etc/passwd | grep slackware
slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

[root@localhost ~]# usermod -a -G admins slackware
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2016(distro) 組=2016(distro),2017(peguin),2018(admins)

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

echo 'mageedu' | passwd --stdin slackware
[root@localhost ~]# passwd -n 3 -x 180 -w 3 slackware
調整用戶密碼老化數據slackware。
passwd: 操作成功

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

[root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack 
[root@localhost ~]# id openstack
uid=3003(openstack) gid=2019(clouds) 組=2019(clouds),2017(peguin),2020(nova)

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

[root@localhost ~]# useradd -r -s /sbin/nologin mysql
[root@localhost ~]# id mysql
uid=496(mysql) gid=492(mysql) 組=492(mysql)

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

[root@localhost ~]# echo 'mageedu' | passwd --stdin openstack更改用戶 openstack 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。

 

原創文章,作者:Net21_仲樂,如若轉載,請注明出處:http://www.www58058.com/23423

(1)
Net21_仲樂Net21_仲樂
上一篇 2016-07-12
下一篇 2016-07-12

相關推薦

  • 網絡N22期-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d" " -f1 | uniq root 2、取出最后登錄到當前系統的用戶的相關信息。 [roo…

    Linux干貨 2016-08-29
  • Linux上文件管理類命令實例講解

    下面介紹三個文件cp, mv, rm管理命令: cp命令:copy,復制命令 命令格式: cp 源文件 目標文件 復制又分為單源復制和多源復制兩種情況: 單源復制 如果目標文件不存在,創建此文件,并復制數據流到此文件; [root@localhost tmp]# cp yum.log ok [root@localhost tmp]# ls -l total …

    Linux干貨 2018-02-28
  • bash編程初體驗(一)

    bash編程初體驗(一) 認識bash編程 變量與賦值 算術與邏輯運算 條件測試與退出狀態 認識bash編程 Bash(GNU Bourne-Again Shell)是許多Linux發行版的默認Shell,我們要認識的bash中,就是在bash的環境下的一種編程。 眾所周知,程序=指令+數據,由此也決定了兩種不同的編程風格,過程過與對象式; 過程式:以指令為…

    Linux干貨 2016-08-15
  • CentOS多網卡單個ip和單個網卡多個ip的設置

    一、單個網卡設置一個IP地址     1.初始狀態已添加一個網卡eth0,并設置的均為自動獲取IP地址,如下圖所示:網卡為eth0,ip地址為10.1.249.36;為了后續實驗的順利進行,我們把NetworkManager服務關閉     chkconfig NetworkMa…

    Linux干貨 2016-09-06
  • DNS服務和搭建

    DNS服務:        名字解析        DNS 服務        實現主從服務器        實現子域        實現view  …

    2017-04-16
  • N26-第一周作業

    1、描述計算機的組成及其功能;  計算機組成部分分為硬件及軟件。  硬件:  計算機硬件主要有五大部分組成:運算器、控制器、存儲器、輸入設備、輸出設備;  1)運算器、控制器,統稱為處理器,也就是CPU:    主要功能是對各種數據進行運算,包括加、減、乘、除的算術運算,還包括進行邏輯判斷的能力,如…

    Linux干貨 2016-12-31

評論列表(2條)

  • 馬哥教育
    馬哥教育 2016-07-12 14:01

    寫的很好,排版也很棒,可以來一點例子,加油

欧美性久久久久