N25_第三周博客作業

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

[root@test ~]# who
root     tty1         2016-12-03 15:39
root     pts/0        2016-12-16 17:00 (10.50.40.210)
[root@test ~]# who |cut -d' ' -f1 |uniq
root

blob.png

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

[root@test ~]# who
root     tty1         2016-12-03 15:39
root     pts/0        2016-12-16 17:00 (10.50.40.210)
[root@test ~]# who |tail -1
root     pts/0        2016-12-16 17:00 (10.50.40.210)

blob.png

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

[root@test ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 | grep -o "\/.*"
/sbin/nologin
[root@test ~]# cat /etc/passwd |cut -d : -f 7 |sort -n |uniq -c |sort -n |tail -1
     24 /sbin/nologin
[root@test ~]# cat /etc/passwd|awk -F: '{print $NF}'|sort|uniq -c|sort -rn -k 1|sed -n "1p"|awk '{print $2}'
/sbin/nologin

blob.png

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

[root@test ~]# sort -t: -k3 -n /etc/passwd|tail -10|tr 'a-z' 'A-Z'
JC:X:1001:1001::/HOME/JC:/BIN/BASH
DOCKER:X:1003:1003::/HOME/DOCKER:/BIN/BASH
OPENSTACK:X:3000:3000::/HOME/OPENSTACK:/BIN/BASH
KEYSTONE:X:3001:3001::/HOME/KEYSTONE:/BIN/CSH
TEST01:X:3002:3002::/HOME/TEST01:/BIN/RBASH
USER1:X:3003:3003::/HOME/USER1:/BIN/BASH
USER3:X:3004:3004::/HOME/USER3:/BIN/BASH
ROOTKIT:X:3005:3005::/HOME/ROOTKIT:/BIN/BASH
USER4:X:3006:3006::/HOME/USER4:/USR/SBIN/CHROOT
CHROOTER:X:3007:3007::/HOME/CHROOTER:/BIN/BASH
[root@test ~]# sort -t: -k3 -n /etc/passwd|tail -10|tr 'a-z' 'A-Z' >/tmp/maxusers.txt
[root@test ~]# more /tmp/maxusers.txt 
JC:X:1001:1001::/HOME/JC:/BIN/BASH
DOCKER:X:1003:1003::/HOME/DOCKER:/BIN/BASH
OPENSTACK:X:3000:3000::/HOME/OPENSTACK:/BIN/BASH
KEYSTONE:X:3001:3001::/HOME/KEYSTONE:/BIN/CSH
TEST01:X:3002:3002::/HOME/TEST01:/BIN/RBASH
USER1:X:3003:3003::/HOME/USER1:/BIN/BASH
USER3:X:3004:3004::/HOME/USER3:/BIN/BASH
ROOTKIT:X:3005:3005::/HOME/ROOTKIT:/BIN/BASH
USER4:X:3006:3006::/HOME/USER4:/USR/SBIN/CHROOT
CHROOTER:X:3007:3007::/HOME/CHROOTER:/BIN/BASH
[root@test ~]#

blob.png

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

[root@test ~]# ifconfig eno16777984 | egrep broadcast
        inet 10.50.60.131  netmask 255.255.255.0  broadcast 10.50.60.255
[root@test ~]# ifconfig eno16777984 | egrep broadcast | cut -d' ' -f10
10.50.60.131

blob.png

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

[root@test ~]# ls /etc/*.conf|tr 'a-z' 'A-Z' > /tmp/etc.conf
[root@test ~]# more /tmp/etc.conf 
/ETC/ASOUND.CONF
/ETC/CHRONY.CONF
/ETC/DNSMASQ.CONF
/ETC/DRACUT.CONF
/ETC/E2FSCK.CONF
/ETC/FPRINTD.CONF
/ETC/HOST.CONF
/ETC/KDUMP.CONF
/ETC/KRB5.CONF
/ETC/LD.SO.CONF
/ETC/LIBAUDIT.CONF
/ETC/LIBUSER.CONF
/ETC/LOCALE.CONF
/ETC/LOGROTATE.CONF
/ETC/MAN_DB.CONF
/ETC/MKE2FS.CONF
/ETC/NSSWITCH.CONF
/ETC/RESOLV.CONF
/ETC/RSYNCD.CONF
/ETC/RSYSLOG.CONF
/ETC/SESTATUS.CONF
/ETC/SOS.CONF
/ETC/SUDO.CONF
/ETC/SUDO-LDAP.CONF
/ETC/SYSCTL.CONF
/ETC/TCSD.CONF
/ETC/UPDATEDB.CONF
/ETC/USB_MODESWITCH.CONF
/ETC/VCONSOLE.CONF
/ETC/YUM.CONF

blob.png

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

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

blob.png

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

[root@test ~]# sort -t: -k3 -n /etc/group|head -10|cut -d: -f1

blob.png

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

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

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

用戶的概念在此不表;每個用戶都有標示用戶的UID和密碼,用戶相關信息都存在`/etc/passwd`和`/etc/shadow`中,在創建用戶時,定義用戶參數的相關配置文件為`/etc/default/useradd`和`/etc/login.defs`。  
用戶類別:超級用戶(root)、 普通用戶( 系統用戶、登錄用戶)  
用戶標識:每個用戶都有一個唯一標示UID(0-65535)  
>超級用戶:0  
系統用戶:1-499(CentOS6), 1-999(CentOS7)  
登錄用戶:500-60000(CentOS6), 1000-60000(CentOS7)  
    
如果要登錄創建的用戶,就必須先給設定密碼,使用命令passwd  用戶名,root用戶可以修改任何用戶密碼,普通用戶只能修改自己的密碼,passwd不接用戶名表示修改自己的密碼;存放密碼的相關文件`/etc/passwd`和`/etc/shadow`。  
密碼的使用策略:
1、使用隨機密碼;
2、最短長度不要低于8位;
3、應該使用大寫字母、小寫字母、數字和標點符號四類字符中至少三類;
4、定期更換;
/etc/passwd:用戶的信息庫
name:password:UID:GID:GECOS:directory:shell
name: 用戶名
password:可以是加密的密碼,也可是占位符x;
UID:
GID:用戶所屬的主組的ID號;
GECOS:注釋信息
directory:用戶的家目錄;
shell:用戶的默認shell,登錄時默認shell程序;
/etc/shadow:用戶密碼
用戶名:加密的密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告期段:過期期限:保留字段
/etc/group:組的信息庫
group_name:password:GID:user_list
user_list:該組的用戶成員;以此組為附加組的用戶的用戶列表;
groupadd命令:添加組
groupadd [選項] group_name
-g GID:指定GID;默認是上一個組的GID+1;
-r: 創建系統組;
groupmod命令:修改組屬性
groupmod [選項] GROUP
-g GID:修改GID;
-n new_name:修改組名;
groupdel命令:刪除組
groupdel [選項] GROUP
useradd命令:創建用戶
useradd [選項] 登錄名
-u, --uid UID:指定UID;
-g, --gid GROUP:指定基本組ID,此組得事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;
-c, --comment COMMENT:指明注釋信息;
-d, --home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
-s, --shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
-r, --system:創建系統用戶;
注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs
useradd -D:顯示創建用戶的默認配置;
useradd -D 選項: 修改默認選項的值;
修改的結果保存于/etc/default/useradd文件中;
usermod命令:修改用戶屬性
usermod [選項] 登錄
-u, --uid UID:修改用戶的ID為此處指定的新UID;
-g, --gid GROUP:修改用戶所屬的基本組;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;
-a, --append:與-G一同使用,用于為用戶追加新的附加組;
-c, --comment COMMENT:修改注釋信息;
-d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
-m, --move-home:只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄;
-l, --login NEW_LOGIN:修改用戶名;
-s, --shell SHELL:修改用戶的默認shell;
-L, --lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!"
-U, --unlock:解鎖用戶的密碼;
userdel命令:刪除用戶
userdel [選項] 登錄
-r:刪除用戶時一并刪除其家目錄;
passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1) passwd:修改用戶自己的密碼;
(2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;
-l, -u:鎖定和解鎖用戶;
-d:清除用戶密碼串;
-e DATE: 過期期限,日期;
-i DAYS:非活動期限;
-n DAYS:密碼的最短使用期限;
-x DAYS:密碼的最長使用期限;
-w DAYS:警告期限;
--stdin:
echo "PASSWORD" | passwd --stdin USERNAME
gpasswd命令:
組密碼文件:/etc/gshadow
gpasswd [選項] group
-a USERNAME:向組中添加用戶
-d USERNAME:從組中移除用戶
newgrp命令:臨時切換指定的組為基本組;
newgrp [-] [group]
-: 會模擬用戶重新登錄以實現重新初始化其工作環境;
chage命令:更改用戶密碼過期信息
chage [選項] 登錄名
-d
-E
-W
-m
-M
id命令:顯示用戶的真和有效ID; 
id [OPTION]... [USER]
-u: 僅顯示有效的UID;
-g: 僅顯示用戶的基本組ID; 
-G:僅顯示用戶所屬的所有組的ID;
-n: 顯示名字而非ID;
su命令:switch user
登錄式切換:會通過讀取目標用戶的配置文件來重新初始化
su - USERNAME
su -l USERNAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化
su USERNAME
注意:管理員可無密碼切換至其它任何用戶;
-c 'COMMAND':僅以指定用戶的身份運行此處指定的命令;

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

blob.png

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

blob.png

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

blob.png

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

blob.png

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

[root@test ~]# userdel mandriva

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

blob.png

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

blob.png

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

blob.png

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

blob.png

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

[root@test ~]# groupadd clouds
[root@test ~]# groupadd nova
[root@test ~]# useradd openstack -u 3003 -g clouds -G peguin,nova
[root@test ~]# id openstack
uid=3003(openstack) gid=2018(clouds) groups=2018(clouds),1101(peguin),2019(nova)

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

blob.png

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

blob.png

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

(0)
oranixoranix
上一篇 2016-12-16 16:02
下一篇 2016-12-16 20:54

相關推薦

  • linux用戶管理實戰

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

    2018-02-08
  • DNS從入門到管理(一)

    DNS從入門到管理(一) DNS概念 DNS三步法 反向解析 主從DNS服務器的實現 子域授權 智能DNS 壓力測試與DNS排錯 DNS概述 DNS(Domain NameSystem,域名系統),域名和IP地址相互映射的一個分布式數據庫,通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析。而DNS的主要作用,就是域名解析,將主機名解析成IP地址?!?/p>

    Linux干貨 2016-10-06
  • Linux 系統啟動流程及bash 腳本編程練習

    馬哥教育網絡班23期 第10周課堂練習 Linux 系統啟動流程及bash 腳本編程練習1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區; (1)為硬盤新建兩個主分區;并為其安裝grub; (2)為硬盤的第一個主分區提供內核和ramdisk文件;為第二個分區提供r…

    Linux干貨 2017-01-23
  • vim、crontab、bash for循環練習

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中的以至少一個空白字符開頭的行的行首加#。 vim中支持全文查找替換功能且在查找時支持正則表達式,在替換時進行引用。先使用vim /tmp/functions,然后在vim編輯模式中輸入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系統運維 2016-12-03
  • 對文件數據操作命令

    對文件數據操作命令   很多時候,我們都會去計算一次數據里頭的的相同類型的數據總數或者查看特性的一些信息,在這個時候我們就需要排序與計算之類的命令來輔助,下面就是幾個好用的操作文件數據命令。 文件查看命令:cat, tac cat [OPTION]… [FILE]…     -E: 顯…

    Linux干貨 2016-08-08
  • Nginx之ngx_http_fastcgi_module模塊詳解

    一、ngx_http_fastcgi_module模塊:       nginx支持FastCGI模式       CGI:Common GateWay Interface 公共網管接口,可以理解其為HTTP服務器與其他主機上運行的程序進行通信的接口。       CG…

    2017-06-25
欧美性久久久久