Linux系统用户/文件&用户和组命令 练习案例


系统用户

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

[root@guox ~]# who | cut -d ’ ’ -f1 | sort -u
guox

2.取出最后登录到当前系统的用户的相关信息。

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

3.取出当前系统上被用户当作其默认shell的最多的那个shell。

[root@guox ~]# 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文件中。

[root@guox ~]# cat /etc/passwd | sort -t : -k 3 -n | tail -10 | tr “a-z” “A-Z” > /tmp/maxusers.txt
[root@guox ~]# 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命令的结果进行切分。

[root@guox ~]# ifconfig | grep “inet” | head -1 | cut -b 14-27
192.168.1.123

6.列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

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

7.显示/var目录下一级子目录或文件的总个数。

[root@guox ~]# ls -al /var/ | wc -l
26

8.取出/etc/group文件中第三个字段数值最小的10个组的名字。

[root@guox ~]# 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文件中。

[root@guox ~]# 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;

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

  • 创建用户mandriva, 其ID号为1005;基本组为distro;

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

  • 创建用户mageia,其ID号为1100,家目录为/home/Linux;

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

  • 给用户mageia添加密码,密码为redhat;

    [root@guox ~]# echo redhat | passwd --stdin mageia

  • 删除mandriva,但保留其家目录;

    [root@guox ~]# userdel mandriva

  • 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

    [root@guox ~]# groupadd peguin
    [root@guox ~]# useradd slackware -u 2002 -g distro -G peguin

  • 修改slackware的默认shell为/bin/tcsh;

    [root@guox ~]# usermod slackware -s /bin/tcsh

  • 为用户slackware新增附加组admins;

    [root@guox ~]# groupadd admins
    [root@guox ~]# usermod slackware -G admins

  • 为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;

    [root@guox ~]# passwd slackware -n 3 -x 180 -w 3

  • 添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

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

  • 添加系统用户MySQL,要求其shell为/sbin/nologin;

    [root@guox ~]# useradd mysql -r -s /sbin/nologin

  • 使用echo命令,非交互式为openstack添加密码。

    [root@guox ~]# echo redhat |passwd –stdin openstack


END

你可能感兴趣的:(Linux)