馬哥教育網絡班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
下一篇 2016-08-29

相關推薦

  • N26-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示;   1)alias:命令別名;     # alias ;獲取所有可用別名的定義;     # alias NAME=‘COMMAND’:定義別名;    &nbs…

    Linux干貨 2017-02-11
  • N26-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。(盜圖了,哈哈哈) 文件查看類命令:cat, tac, head, tail, more, less,touch    cat 查看文件內容   tac命令   反向查看文件內容  注:可對照上圖 分屏查看命令:more  …

    Linux干貨 2017-01-07
  • 硬鏈接與軟鏈接的簡述

    我們知道文件都有文件名與數據,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但…

    Linux干貨 2016-10-20
  • linux軟鏈接與硬鏈接的區別

    硬鏈接:相于當給文件增加了一個新名 在添加鏈接時會增加鏈接數,其inode結點數不會增加 支持絕對路徑與相對路徑 硬鏈接不能對目錄來創建 不能跨分區來創建鏈接 硬鏈接鏈接到文件被刪除時,依舊可以通過鏈接文件來訪問被刪文件的數據 軟鏈接:可以支持對目錄來創建鏈接 (注,當你用rm -rf 刪除目錄的時候,目錄不會刪除,但目錄中的內容會被刪除,并且會刪除源文件)…

    Linux干貨 2013-07-15
  • 0805作業

    課堂練習 1.找出ifconfig 命令結果中本機的所有IPv4 地址   ifconfig|tr -cs '[0-9].' '\n'|sort -ut '.' -k3 2.查出分區空間使用率的最大百分比值   df|tr -s ' '|cut -d&quot…

    Linux干貨 2016-08-07
  • 進程和優先級

    ???? 什么是進程?我們先來了解一下進程的概念:我們知道操作系統最核心的概念就是進程。進程簡單來說就是在操作系統中運行的程序,它是操作系統資源管理的最小單位。但是進程是一個動態的實體,它是程序的一次執行過程。進程和程序的區別在于:進程是動態的,程序是靜態的,進程是運行中的程序,而程序是一些保存在硬盤上的可執行代碼。 ?? 當多個任務要執行時怎么辦呢?先執行…

    2017-09-09

評論列表(1條)

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

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

欧美性久久久久