馬哥教育網絡21期+第3周博客練習

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

[root@CentOS6 ~]# who|cut -d' ' -f1|sort -u
root
santi

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

[root@CentOS6 ~]# who |tail -1 |awk '{print $1}'|xargs id
uid=500(santi) gid=500(santi) 組=500(santi)

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

[root@CentOS6 ~]# cat /etc/passwd|cut -d':' -f7|sort|uniq -c|sort -n|tail -1|awk '{print $2}'
/sbin/nologin

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

[root@CentOS6 ~]# cat /etc/passwd |sort -n -t':' -k3|tail -10|tr [a-z] [A-Z] > /tmpmaxusers.txt
[root@CentOS6 ~]# cat /tmpmaxusers.txt
HSQLDB:X:96:96::/VAR/LIB/HSQLDB:/SBIN/NOLOGIN
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
USBMUXD:X:113:113:USBMUXD USER:/:/SBIN/NOLOGIN
AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN
ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN
PULSE:X:497:495:PULSEAUDIO SYSTEM DAEMON:/VAR/RUN/PULSE:/SBIN/NOLOGIN
SASLAUTH:X:498:76:"SASLAUTHD USER":/VAR/EMPTY/SASLAUTH:/SBIN/NOLOGIN
RTKIT:X:499:497:REALTIMEKIT:/PROC:/SBIN/NOLOGIN
SANTI:X:500:500::/HOME/SANTI:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

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

[root@CentOS6 ~]# ifconfig | grep 'inet\b' | awk '{print $2}'|awk -F':' '{print $2}'
192.168.31.249
127.0.0.1

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

[root@CentOS6 ~]# ls /etc | grep '\.conf$' | tr  'a-z' 'A-Z' > /tmp/etc.conf
[root@CentOS6 ~]# cat /tmp/etc.conf
ANT.CONF
ASOUND.CONF
AUTOFS.CONF
AUTOFS_LDAP_AUTH.CONF
CAS.CONF
CGCONFIG.CONF
CGRULES.CONF
CGSNAPSHOT_BLACKLIST.CONF
DNSMASQ.CONF
...

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

[root@CentOS6 ~]# ls -1 /var|wc -l
20

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

[root@CentOS6 ~]# cat /etc/group|sort -n -t':' -k3|head -10|awk -F':' '{print $1}'
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

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

[root@CentOS6 ~]# cat /etc/{fstab,issue} > /tmp/etc.test
[root@CentOS6 ~]# cat /tmp/etc.test

#
# /etc/fstab
# Created by anaconda on Sun Jan 24 00:36:05 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_centos6-lv_root /                       ext4    defaults        1 1
UUID=519cd07c-ef14-4cf6-94c2-1e025d029ffa /boot                   ext4    defaults        1 2
/dev/mapper/vg_centos6-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
CentOS release 6.8 (Final)
Kernel \r on an \m

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

用戶:

    創建用戶:

        

            useradd [options] LOGIN

-u UID: [UID_MIN, UID_MAX], 定義在/etc/login.defs

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

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

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

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

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

-r: 創建系統用戶

    修改用戶:

            

            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: 設定非活動期限;

    刪除用戶:

            

            userdel [OPTION]… login

    -r: 刪除用戶家目錄;

組:

    創建組:

            

            groupadd [OPTION]… group_name

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

     -r: 創建系統組;

    修改組屬性:

           

            groupmod [OPTION]… group

     -n group_name: 新名字

     -g GID: 新的GID;

 

    刪除組:

            groupdel GROUP

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

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

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

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

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

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

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

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

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

[root@CentOS6 ~]# userdel mandriva

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

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

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

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

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

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

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

[root@CentOS6 ~]# echo "santi" |passwd --stdin slackware
更改用戶 slackware 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@CentOS6 ~]# chage -m 3 -M 180 -W 3 slackware
[root@CentOS6 ~]# chage -l slackware
最近一次密碼修改時間		:7月 24, 2016
密碼過期時間			:1月 20, 2017
密碼失效時間			:從不
帳戶過期時間			:從不
兩次改變密碼之間相距的最小天數	:3
兩次改變密碼之間相距的最大天數	:180
在密碼過期之前警告的天數	:3

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

[root@CentOS6 ~]# groupadd clouds

[root@CentOS6 ~]# groupadd nova

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

[root@CentOS6 ~]# id openstack

uid=3003(openstack) gid=2019(clouds) 組=2019(clouds),2017(peguin),2020(nova)

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

[root@CentOS6 ~]# useradd -s /sbin/nologin mysql
[root@CentOS6 ~]# grep mysql /etc/passwd
mysql:x:3004:3004::/home/mysql:/sbin/nologin

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

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

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

(0)
sandiegoitsandiegoit
上一篇 2016-07-26 17:01
下一篇 2016-07-26 17:08

相關推薦

  • Java線程

    線程是一個單獨程序流程。多線程是指一個程序可以同時運行多個任務,每個任務由一個單獨的線程來完成。也就是說,多個線程可以同時在一個程序中運行,并且每一個線程完成不同的任務。程序可以通過控制線程來控制程序的運行,例如線程的等待、休眠、喚起線程等。本章將向讀者介紹線程的機制、如何操作和使用線程以及多線程編程。  1. 線程的基本知識   &nb…

    2015-06-08
  • 關于加密那點事

    作者【Jev Tse】 環境:sentos6.8     【本文預覽】      一、關于加密      二、對稱加密      三、非對稱加密      四、單向散列 …

    Linux干貨 2016-12-01
  • 文本處理工具練習題(包含正則)

    正則練習題(包含文本處理練習題) 問題 找出ifconfig命令結果中本機的所有IPv4地址  查出分區空間使用率的最大百分比值 查出用戶UID最大值的用戶名、UID及shell類型 查出/tmp的權限,以數字方式顯示 統計當前連接本機的每個遠程主機IP的連接數,并按從大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干貨 2016-08-08
  • 文本處理——sed初步

    sed是一種流編輯器,它一次處理一行內容。
    處理時,把當前處理的行存儲在臨時緩沖區(pattern space),同時輸出到屏幕,接著用sed命令處理緩沖區中的內容,接著讀取下一行,這樣不斷重復,直到文件末尾。

    Linux筆記 2018-04-20
  • iptables

    iptables 一、基礎概念 1、防火墻概念 Firewall:隔離工具;Packets Filter Firewall;工作于主機或網絡的邊緣,對經由的報文根據預先定義的規則(匹配條件)進行檢測,對于能夠被規則匹配到的報文實行某預定義的處理機制的一套組件; 如果沒有防火墻,你的本機的所有端口都會被別人訪問到! 2、分類 硬件防火墻:在硬件級別實現部分功能…

    2016-10-26
  • 運行級別

    運行級別(Runlevel)指的是Unix或者Linux等類Unix操作系統下不同的運行模式。運行級別通常分為7等,分別是從0到6,但如果必要的話也可以更多。 例如在大多數Linux操作系統下一共有如下7個典型的運行級別: 0 停機,關機 1 單用戶,無網絡連接,不運行守護進程,不允許非超級用戶登錄 2 多用戶,無網絡連接,不運行守護進程 3 多用戶,正常啟…

    Linux干貨 2017-07-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-27 10:57

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

欧美性久久久久