1. 程式人生 > >Linux系統使用者/檔案&使用者和組命令 練習案例

Linux系統使用者/檔案&使用者和組命令 練習案例

系統使用者

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

[[email protected] ~]# who | cut -d ’ ’ -f1 | sort -u
guox

2.取出最後登入到當前系統的使用者的相關資訊。

[[email protected] ~]# last | head -1
guox pts/0 :0 Fri Oct 7 14:44 still logged in

3.取出當前系統上被使用者當作其預設shell的最多的那個shell。

[[email protected] ~]# cat /etc/passwd |cut -d ‘:’ -f 7 | sort -n | uniq -c | sort -n | tail -1
34 /sbin/nologin

4.將/etc/passwd中的第三個欄位數值最大的後10個使用者的資訊全部改為大寫後儲存至/tmp/maxusers.txt檔案中。

[[email protected] ~]# cat /etc/passwd | sort -t : -k 3 -n | tail -10 | tr “a-z” “A-Z” > /tmp/maxusers.txt
[

[email protected] ~]# cat /tmp/maxusers.txt
ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN
GNOME-INITIAL-SETUP:X:993:991::/RUN/GNOME-INITIAL-SETUP/:/SBIN/NOLOGIN
CHRONY:X:994:993::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
SASLAUTH:X:995:76:”SASLAUTHD USER”:/RUN/SASLAUTHD:/SBIN/NOLOGIN
LIBSTORAGEMGMT:X:996:994:DAEMON ACCOUNT FOR LIBSTORAGEMGMT:/VAR/RUN/LSM:/SBIN/NOLOGIN
COLORD:X:997:996:USER FOR COLORD:/VAR/LIB/COLORD:/SBIN/NOLOGIN
UNBOUND:X:998:997:UNBOUND DNS RESOLVER:/ETC/UNBOUND:/SBIN/NOLOGIN
POLKITD:X:999:998:USER FOR POLKITD:/:/SBIN/NOLOGIN
GUOX:X:1000:1000:GUOX:/HOME/GUOX:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

系統檔案

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

[[email protected] ~]# ifconfig | grep “inet” | head -1 | cut -b 14-27
192.168.1.123

6.列出/etc目錄下所有以.conf結尾的檔案的檔名,並將其名字轉換為大寫後儲存至/tmp/etc.conf檔案中。

[[email protected] ~]# ls /etc/*.conf | tr ‘a-z’ ‘A-Z’> /tmp/etc.conf
[[email protected] ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/BRLTTY.CONF
/ETC/CHRONY.CONF

7.顯示/var目錄下一級子目錄或檔案的總個數。

[[email protected] ~]# ls -al /var/ | wc -l
26

8.取出/etc/group檔案中第三個欄位數值最小的10個組的名字。

[[email protected] ~]# cat /etc/group |sort -n -t: -k3 |head -10 | cut -d: -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

9.將/etc/fstab和/etc/issue檔案的內容合併為同一個內容後儲存至/tmp/etc.test檔案中。

[[email protected] ~]# cat /etc/{fstab,issue} >/tmp/etc.test

使用者和組

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

使用者管理命令

【建立使用者useradd】
格式:useradd 選項 使用者名稱
-c 描述
-d 指定家目錄
-s 指定shell環境
-u 指定UID
-g 指定私有組,所屬組
-G 指定附加組,從屬組
-r 建立系統使用者

【刪除使用者userdel】
userdel -r 使用者名稱
注意:如果不帶-r引數,只是把使用者的配置檔案刪除,還要手動的刪除mail檔案和家目錄

【修改賬戶usermod】
格式:usermod 選項 使用者名稱
-c 描述
-d 修改家目錄
-s 修改shell環境
-u 修改UID
-g 修改私有組,所屬組
-G 修改附加組,從屬組
-L 鎖定賬戶
-U 解鎖賬戶

組管理命令

【新增組groupadd】
格式:groupadd [選項] 組名
-g GID:指定GID;預設是上一個組的GID+1
-r:建立系統組

【修改組屬性groupmod】
格式:goupmod [選項] 組
-g GID:修改GID;
-n new_name:修改組名

【刪除組groupdel】
格式:groupdel [選項] 組

  • 建立組distro,其GID為2016;

    [[email protected] ~]# groupadd distro -g 2016

  • 建立使用者mandriva, 其ID號為1005;基本組為distro;

    [[email protected] ~]# useradd mandriva -u 1005 -g distro

  • 建立使用者mageia,其ID號為1100,家目錄為/home/Linux;

    [[email protected] ~]# useradd mageia -u 1100 -d /home/linux

  • 給使用者mageia新增密碼,密碼為redhat;

    [[email protected] ~]# echo redhat | passwd --stdin mageia

  • 刪除mandriva,但保留其家目錄;

    [[email protected] ~]# userdel mandriva

  • 建立使用者slackware,其ID號為2002,基本組為distro,附加組peguin;

    [[email protected] ~]# groupadd peguin
    [[email protected] ~]# useradd slackware -u 2002 -g distro -G peguin

  • 修改slackware的預設shell為/bin/tcsh;

    [[email protected] ~]# usermod slackware -s /bin/tcsh

  • 為使用者slackware新增附加組admins;

    [[email protected] ~]# groupadd admins
    [[email protected] ~]# usermod slackware -G admins

  • 為slackware新增密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;

    [[email protected] ~]# passwd slackware -n 3 -x 180 -w 3

  • 新增使用者openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova;

    [[email protected] ~]# groupadd clouds
    [[email protected] ~]# groupadd nova
    [[email protected] ~]# useradd openstack -u 3003 -g clouds -G peguin,nova

  • 新增系統使用者MySQL,要求其shell為/sbin/nologin;

    [[email protected] ~]# useradd mysql -r -s /sbin/nologin

  • 使用echo命令,非互動式為openstack新增密碼。

    [[email protected] ~]# echo redhat |passwd –stdin openstack

END