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

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

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

# who | cut -d' ' -f1 | sort -u

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

# id $(who | tail -1 | cut -d' ' -f1)

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

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

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

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

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

# ifconfig | head -2 | tail -1 | cut -d: -f2 | tr -d "Bcast"

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

# ls /etc/*.conf | egrep -o "[^/]+/?$" | tr ’a-z‘ ’A-Z‘ > /tmp/etc.conf

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

# ls /var | wc -l

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

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

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

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

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

用戶和組相關的管理命令

  用戶創建:useradd 

  格式

    useradd [options] LOGIN

  常用選項

    -u UID: 指明用戶UID號

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

    -c "COMMENT":用戶的注釋信息,一般表示用戶全名

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

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

    -G [GROUP1[,GROUP2,…[GROUPN]]]:為用戶指明附加組

    -r: 創建系統用戶

  用戶屬性修改: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:鎖定指定用戶

    -U:解鎖指定用戶

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

    -f INACTIVE:設定非活動期限

  給用戶添加密碼:passwd

  格式

    passwd [OPTIONS] UserName

  常用選項

    -l:鎖定指定用戶

    -u:解鎖指定用戶

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

    -x maxdays:最大使用期限

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

    -i inactivedays:非活動期限

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

  刪除用戶:userdel

  格式

    userdel [OPTION]…login

  常用選項

    -r:刪除用戶家目錄

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

  格式

    id [OPTION]…[USER]

  常用選項

    -u:UID

    -g:GID

    -G:Groups

    -n:name    

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

  格式

    su [OPTION]… [-] [USER [ARG]…]

  切換用戶的方式:

    su UserName:非登錄式切換

    su – userName:登錄式切換

  以指定用戶執行命令:

    su [-] UserName -c 'COMMAND'

  常用選項

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

  修改用戶屬性: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:警告期限

  修改用戶登錄shell:chsh

  格式

    chsh [-s shell] [-l] [-u] [-v] [username]

  常用選項

    -s:指定登錄shell

    -l:打印出/etc/shells下的shell列表并退出    

  修改用戶詳細資料:chfn

  格式

    chfn  [-f  full-name]  [-o  office]  ,RB [ -p office-phone] [-h home-phone] -u] [-v] [username]

  常用選項

    -f:指定全名

    -o:指定辦公室號碼

    -p:指定辦公電話

    -h:指定家庭電話  

  組創建命令: groupadd

  格式

    groupadd [OPTION]… group_name

  常用選項

    -g GID: 指明GID號

    -r:創建系統組    

  組屬性修改:groupmod

  格式

    groupmod [OPTION]…group

  常用選項

    -n group_name:新名字

    -g GID:新的GID

  組刪除:groupdel

  格式

    groupdel GROUP

  組密碼:gpasswd

  格式

    gpasswd [OPTION] GROUP

  常用選項

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

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

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

  newgrp命令:臨時切換基本組

  格式

    newgrp [-] [group]

  常用選項

    -:讀取用戶的配置文件

  pwck:檢查密碼文件的完整性

  格式

   pwck [options] [passwd [ shadow ]]

  常用選項

   -s,–sort:以UID排序

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

# groupadd -g 2016 distro

   實例演示:

[root@C664BSLab ~]# groupadd -g 2016 distro
[root@C664BSLab ~]# cat /etc/group | tail -1
distro:x:2016:

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

# useradd -u 1005 -g distro mandriva

   實例演示:

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

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

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

   實例演示:    

[root@C664BSLab ~]# useradd -u 1100 -d /home/liunx mageia
[root@C664BSLab ~]# cat /etc/passwd | tail -1
mageia:x:1100:1100::/home/liunx:/bin/bash

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

# echo "mageedu" | passwd --stdin mageia

   實例演示:    

[root@C664BSLab ~]# echo "mageedu" | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

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

# userdel mandriva

   實例演示:    

[root@C664BSLab ~]# userdel mandriva
[root@C664BSLab ~]# ls /home | grep mandriva
mandriva

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

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

   實例演示:    

[root@C664BSLab ~]# groupadd peguin
[root@C664BSLab ~]# cat /etc/group | tail -1
peguin:x:2017:
[root@C664BSLab ~]# useradd -u 2002 -g distro -G peguin slackware
[root@C664BSLab ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)

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

# usermod -s /bin/tcsh slackware

   實例演示:

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

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

# groupadd  admins
# usermod -a -G admins slackware

   實例演示:

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

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

# echo "slackware" | passwd --stdin -n 3 -x 180 -w 3 slackware

   實例演示:    

[root@C664BSLab ~]# echo "slackware" | passwd -n 3 -x 180 -w 3  --stdin slackware
Adjusting aging data for user slackware.
passwd: Success
[root@C664BSLab ~]# cat /etc/shadow | grep slackware
slackware:!!:16977:3:180:3:::

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

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

   實例演示:

[root@C664BSLab ~]# groupadd clouds
[root@C664BSLab ~]# cat /etc/group | tail -1
clouds:x:2019:
[root@C664BSLab ~]# groupadd nova
[root@C664BSLab ~]# cat /etc/group | tail -1
nova:x:2020:
[root@C664BSLab ~]# useradd -u 3003 -g clouds -G peguin,nova openstack
[root@C664BSLab ~]# id openstack
uid=3003(openstack) gid=2019(clouds) groups=2019(clouds),2017(peguin),2020(nova)

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

# useradd -r -s /sbin/nologin mysql

   實例演示:

[root@C664BSLab ~]# useradd -r -s /sbin/nologin mysql
[root@C664BSLab ~]# cat /etc/passwd | tail -1
mysql:x:498:498::/home/mysql:/sbin/nologin

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

# echo "openstack" | passwd --stdin openstack

   實例演示:

[root@C664BSLab ~]# echo "openstack" | passwd --stdin openstack
Changing password for user openstack.
passwd: all authentication tokens updated successfully.

原創文章,作者:N20-背旅,如若轉載,請注明出處:http://www.www58058.com/20309

(0)
N20-背旅N20-背旅
上一篇 2016-06-26 22:50
下一篇 2016-06-26 22:51

相關推薦

  • N25期第八周作業

    1.請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別 主要功能: 網橋是一個局域網與另一個局域網之間建立連接的橋梁,屬于數據鏈路層的一種設備。 集線器是可以將一些機器連接起來組成一個局域網的設備。 二層交換機是工作于OSI模型的第2層(數據鏈路層)的設備,作用和集線器類似。 三層交換機就是具有部分路由器功能的二層交換機。 路由器是互聯…

    Linux干貨 2017-03-08
  • N31-3

    基礎命令演示

    Linux筆記 2018-07-04
  • Memcached實現Tomcat的session會話綁定

    memcached介紹:  Memcached是一個高性能的分布式內存對稱緩存系統;通過緩存查詢數據庫結果,介紹數據庫訪問次數,以提高web應用的速度、提高擴展性。  Memcached特點:   協議簡單   基于libevent的事件處理   內置內存存儲方式  memcached不互相通信的分…

    Linux干貨 2015-08-01
  • Nginx反向代理、負載均衡的實現

    概述:     上篇介紹了Nginx作為web服務器的一些常用配置的說明,但是在實際生產環境中,Nginx更多是作為前端的負載均衡器,反代前端用戶請求到后端真實的web服務器上,完成LNAMP的組合的方式存在。本篇就介紹一些Nginx作為http的反向代理和前端負載均衡調度器的一些常用配置,具體包括:  &n…

    Linux干貨 2016-11-01
  • shell腳本之數組

    認識數組:    變量是存儲單個元素的內存空間,而數組就是多個變量的合集,是一串連續的空間,但是,整個數組只能有一個名字。    數組內的數據都有指定的索引,以找到數組內指定的數據。索引的編號是從0開始,依次遞增(0,1,2,3…),屬于數值索引。索引也支持自定義的格式,而不僅是數值格式的索引,即為關聯索引…

    Linux干貨 2016-08-26
  • Linux的終端類型

            Linux的終端類型         Linux終端的定義         Linux終端的分類 &nb…

    Linux干貨 2016-10-18

評論列表(1條)

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

    寫的很好,排版還可以在漂亮一些,加油

欧美性久久久久