小練習題。【第三周】

練習

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

~]# who | cut -d' ' -f1 |uniq

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

/]# who | sort -r | tail -n 1

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

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

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

/]$ cat /etc/passwd |sort -n -t':' -k3 |tail -n 10|tr 'a-z' 'A-Z' >/tmp/maxusers.txt

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

/]$ ifconfig |grep "\<inet\>"  |cut -d' ' -f10

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

/]$ ls /etc/ |grep ".conf\>" | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

/]$ ll /var |wc -l

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

/]# cat /etc/group |sort -r -t':' -k3 |tail -n 10 |cut -d':' -f1

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

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

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

1)創建組distro, 其GID為2016;
    /]# groupadd -g 2016 distor

2)創建用戶mandriva ,其ID號為1005;基本組為distro;
    /]# useradd -u 1005 -g 2016 mandriva

3)創建用戶mageid,其ID號為1100,家目錄為/home/linux;
    /]# useradd -u 1100 -d /home/linux mageid

4)給用戶mageia添加密碼,密碼為mageedu;
    /]# passwd mageid

5)刪除mandriva,但保留其家目錄;
    /]# userdel mandriva

6)創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
    /]# groupadd peguin
    /]# useradd -u 2002 -g 2016 -G 2017 slackware

7)修改slackware 的默認shell為/bin/tcsh;
  /]# usermod -s /bin/tcsh slackware

8)為用戶slackware 新增附加組admins;
  /]# usermod -G 2018 -a  slackware

9)為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
   /]# passwd slackware| passwd -n 3 -x 180 -w 3 slackware


10)添加用戶openstack,其ID號為3003,基本組為clouds,附加組peguin和nova;
    /]# groupadd clouds
    /]# groupadd nova
    /]# useradd -u 3003 -g 2019 -G 2017,2020 openstack

11)添加系統用戶mysql,要求其shell為/sbin/nologin;
    /]# useradd -r -s /sbin/nologin mysql

12)使用echo命令,非交互式為openstack添加密碼;
    /]# echo "magees" | passwd --stdin openstack

總結

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,...]:指明用戶所屬的附加組,多個組之間用逗號隔開
    -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,...]:修改用戶所屬組的附加組,原來的附加組會被覆蓋;
    -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] [-wwarndays] [-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 "meagees" |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 [OPTIONS]...[USER]
    -u:僅顯示有效的UID;
    -g:僅顯示用戶的基本組ID;
    -G:僅顯示用戶所屬的所有組的ID;
    -n:顯示名字而非ID;

su命令:switch user

登錄式切換:會通過讀取目標用戶的配置文件來重新初始化
    su - USERNAME
    su -l USERNAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化
    su USERNAME

注意:管理員可無密碼切換至其他任何用戶;
        非管理員在切換其他任何用戶時需要輸入該用戶密碼;

-c 'COMMAND':僅以指定用戶的身份運行此處指定的命令;

其他幾個命令:chsh,chfn,finger,whoami,pwck,grpck

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

(0)
N24_xiaowenN24_xiaowen
RPM包管理功能全解?!镜谌堋?/span>
上一篇 2016-11-26
小練習題?!镜谒闹堋?/span>
下一篇 2016-11-26

相關推薦

  • Linux進程查看及管理(2)

    Linux進程查看及管理(2) CentOS5和6的啟動流程: Liunx中的啟動:kernel和rootfs(根文件系統) kernel:進程管理,內存管理,網絡管理功能,驅動程序,文件系統,安全功能(權限模型), rootfs:glibc(lib,lib64) 庫:函數集合,function(功能模塊)有其調用接口(頭文件是對函數功能或調用參數的功能進行…

    Linux干貨 2016-08-08
  • Kickstart+PXE自動部署

    Kickstart+PXE自動部署 無人值守安裝簡介 無人值守安裝(Unattended Setup)指軟件安裝時無需任何用戶干預,直接按默認或通過應答文件設置安裝,這對于無特殊需求的用戶或企業大批量部署安裝操作系統及軟件時非常方便。無人值守安裝也稱為靜默安裝,在安裝過程中可以靜默安裝好預先設計集成的一些常用軟件,安裝結束以后軟件就已經可以使用,很多軟件都支…

    Linux干貨 2016-09-17
  • 第十周:Linux系統啟動流程及shell腳本練習

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 一張圖足以說明一切: 2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;   (1) 為硬盤新建兩個主分區;并為其安裝grub;   (2) 為硬盤的第一個主分區提供內核和ramdisk文件;為第二個分區提供rootfs;   (3)…

    Linux干貨 2016-11-30
  • 基于ssl功能實現mysql主從復制

    基于ssl功能實現mysql主從復制         證書準備:                                  CA證書…

    2016-11-22
  • 一個“蠅量級” C 語言協程庫

    協程(coroutine)顧名思義就是“協作的例程”(co-operative routines)。跟具有操作系統概念的線程不一樣,協程是在用戶空間利用程序語言的語法語義就能實現邏輯上類似多任務的編程技巧。實際上協程的概念比線程還要早,按照 Knuth 的說法“子例程是協程的特例”,一個子例程就是一次子函數調用,那么實際上協程就是類函數一樣的程序組件,你可以…

    Linux干貨 2016-08-15
  • 20161021第6天作業

    20161021第6天作業 1、將PATH變量每個目錄顯示在獨立的一行  echo "$PATH" |tr ':' '\n' 2、將指定文件中0-9分別替代成a-j tr '0-9' 'a-j' <文件 3、將文件中每個單詞(由字母組成)顯示在…

    Linux干貨 2016-10-23

評論列表(1條)

  • luoweiro
    luoweiro 2016-11-30 22:39

    作業完成的不錯,而且看著比較舒服,對于用戶管理的命令前期多操作,可以對比著記憶,后期熟練了就自然而然的不用刻意思考了。

欧美性久久久久