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

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

[root@localhost ~]# w | tail -n+3 | cut -d" " -f1 | sort | uniq

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

[root@localhost ~]# last | head -1 | cut -d" " -f1

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

[root@localhost ~]# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -n | tail -1
     35 /sbin/nologin

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

[root@localhost ~]# sort -t: -k3 -n /etc/passwd | tail -10 | tr "a-z" "A-Z" > /tmp/maxusers.txt

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

[root@localhost ~]# ifconfig | grep "\<inet\>" | awk '{print $2}'
192.168.8.130
127.0.0.1
192.168.122.1

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

[root@localhost ~]# ls -al /etc | grep "\.conf$" | tr 'a-z' 'A-Z'> /tmp/etc.conf

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

[root@localhost ~]# ls -al /var | tail -n+4 | wc -l
23

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

[root@localhost ~]# sort -t: -k3 -n /etc/group | head -10

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

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

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

用戶管理類命令:

    (1)useradd:創建用戶

    

用法:useradd [options] USERNAME
選項:
  -b, --base-dir BASE_DIR新賬戶的主目錄的基目錄
  -c, --comment COMMENT         新賬戶的 GECOS 字段
  -d, --home-dir HOME_DIR       新賬戶的主目錄
  -D, --defaults 顯示或更改默認的 useradd 配置
  -e, --expiredate EXPIRE_DATE  新賬戶的過期日期
  -f, --inactive INACTIVE       新賬戶的密碼不活動期
  -g, --gid GROUP 新賬戶主組的名稱或 ID
  -G, --groups GROUPS新賬戶的附加組列表
  -h, --help                    顯示此幫助信息并推出
  -k, --skel SKEL_DIR使用此目錄作為骨架目錄
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默認值
  -l, --no-log-init不要將此用戶添加到最近登錄和登錄失敗數據庫
  -m, --create-home創建用戶的主目錄
  -M, --no-create-home 不創建用戶的主目錄
  -N, --no-user-group不創建同名的組
  -o, --non-unique 允許使用重復的 UID 創建用戶
  -p, --password PASSWORD 加密后的新賬戶密碼
  -r, --system                  創建一個系統賬戶
  -R, --root CHROOT_DIR         chroot 到的目錄
  -s, --shell SHELL 新賬戶的登錄 shell
  -u, --uid UID 新賬戶的用戶 ID
  -U, --user-group 創建與用戶同名的組
  -Z, --selinux-user SEUSER 為 SELinux 用戶映射使用指定 SEUSER

         

(2)userdel:刪除用戶

 用法:userdel [options] USERNAME
    options:
        -r:刪除用戶,同時刪除用戶家目錄及相關郵件;
        -f:強制執行刪除用戶行為;

         

(3)usermod:修改賬號屬性

用法:usermode [options] USERNAME
    options:
        -c:修改指定賬號的聲明信息;
        -d <HOME_DIR>:修改指定賬號的家目錄;
        -g <GROUP>:修改指定賬號所屬的基本組;
        -G <GROUPS>:修改指定賬號所屬的附加組;如果GROUPS為空;則表示刪除該賬號的附加組信息(沒有附加組);
        -a -G <NewGroups>:新增指定賬號所屬的附加組信息;
        -l <NewUSERNAME>:修改指定賬號名為NewUSERNAME;
        -p <PASSWORD>:修改指定賬號的密碼;
        -s <SHELL>:修改指定賬號使用的shell;
        -u <UID>:修改指定賬號的UID;
        -U:解鎖賬號;

         

(4)passwd:設置或修改用戶密碼

用法:passwd USERNAME
         passwd [options] USERNAME
    options:
        -d:刪除指定賬號密碼;
        -l:鎖定指定賬號密碼;
        -u:解鎖指定賬號密碼;
        -e:設置指定賬號密碼過期;
        -x:設置指定賬號密碼的最大可用天數;
        -n:設置指定賬號密碼的最小可用天數;
        -w:設置指定賬號收到密碼過期通知的天數;
        -i:設置指定賬號密碼過期后,賬號不可用的天數;
        -S:顯示指定賬號的密碼狀態;
        -f:強制執行;
    特殊用法:
        #echo PASSWORD|passwd --stdin USERNAME
        設置用戶密碼;只需執行一次即可;
    備注:passwd命令需要用戶具有root權限;

     

組管理類命令:

    (5)groupadd:創建組

用法:groupadd [options] GROUPNAME
    options:
        -g <GID>:指定創建的組的GID;
        -o:指定創建的組可以使用重復的GID;
        -p <PASSWORD>:指定創建的組的加密密碼;
        -r:指定創建的組為系統組;
        -f:強制執行;

         

    (6)groupdel:刪除組

用法:groupdel [options] GROUPNAME

         

(7)groupmod:修改組

用法:groupmod [options] GROUPNAME
    options:
        -g <GID>:修改指定組的GID;
        -n <New_GRPNAME>:修改指定組的組名為New_GRPNAME;
        -p <PASSWORD>:修改指定組的密碼;

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

[root@localhost ~]# groupadd -g 2016 distro

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

[root@localhost ~]# useradd -u 1005 -g distro mandriva

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

[root@localhost ~]# useradd -u 1100 -d /home/linux mageia

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

[root@localhost ~]# echo mageedu | passwd --stdin mageia

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

[root@localhost ~]# userdel mandriva

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

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

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

[root@localhost ~]# usermod -s /bin/tcsh slackware

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

[root@localhost ~]# groupadd admins
[root@localhost ~]# usermod -a -G admins slackware

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

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

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

[root@localhost ~]# groupadd clouds
[root@localhost ~]# groupadd nova
[root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack

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

[root@localhost ~]# useradd -r -s /sbin/nologin mysql

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

[root@localhost ~]# echo mageedu | passwd --stdin openstack

更改用戶 openstack 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。

原創文章,作者:zhangxiaola,如若轉載,請注明出處:http://www.www58058.com/41283

(0)
zhangxiaolazhangxiaola
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相關推薦

  • 用戶管理命令之NBA版

    用戶管理命令之NBA版 本文純屬扯淡,如有不嚴謹之處,還請海涵。 1 groupadd 作用:創建一個屬組 格式:groupadd [選項] 屬組名 選項: -:選項為空 創建新屬組 -g:指定組GID,默認是GID+1 實例 1.1 添加屬組team,指定組ID為1111      groupadd -g …

    Linux干貨 2017-03-27
  • Shell腳本編程中的if、case、for、while、until命令

    為何要學編程中的if、case、for、while、until命令?        作為一個運維工程師,總會聽到自動化,實際自動化離不開編寫shell腳本,而shell腳本中卻又離不開編程中的if、case、for、while、until, 這些關鍵字。 了解編程中的if、case、for、while、until命令,…

    Linux干貨 2016-08-19
  • 系統管理之程序包管理(一) rpm詳解

    系統管理之程序包管理(1):     程序包管理是運維人員的基本工作素質之一。在操作系統上,不斷的安裝,卸載,配置應用程序包,讓不同程序包運行提供不同的服務;利用某種工具完成某些操作的過程。這就要求運維工作人員熟悉安裝,管理應用程序包。 在linux上,程序包主要有兩種:tar,rpm包。 一、程序包概述: 系統接口   &nb…

    Linux干貨 2016-08-21
  • LVS

    LVS概念 LVS(Linux Virtual Server):Linux 虛擬服務器  LVS是個負載均衡設備,它不提供任何服務,用戶請求到這里的時候,它是將客戶需求轉發至后端真正提供服務的服務,所以說后端的服務稱作real server。LVS分為兩段,前一段稱為ipvsadm(管理集群服務的命令行工具),后面一段叫做ipvs(內核模塊) LVS的類型 …

    Linux干貨 2017-02-17
  • iptables-防火,防盜,防老王

        防火墻,其實說白了將,就是用于實現linux下訪問控制的功能的,它分為兩種方式,硬件防火墻和軟件防火墻。不過無論是在哪個網絡中,防火墻工作的地方一定是在網絡的邊緣。而我們的任務就是需要去定義防火墻如何工作的,這就是防火墻的策略,規則,以達到讓它對出入網絡的IP,數據進行檢測。     目前市…

    Linux干貨 2017-05-02
  • 馬哥教育網絡班22期+第2周課程練習

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。      文件管理命令有:mkdir  rm  tree  ls  等等  1、mkdir [options] /path/to/somewhere      &…

    Linux干貨 2016-08-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 12:24

    寫的很認真,很好,請繼續保持

欧美性久久久久