马哥教育21期网络班—第三周课程+练习

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

# who | cut -d' ' -f1 | sort -n | uniq

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

# who | cut -d' ' -f1 | tail -1

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

#  cut -d: -f7 /etc/passwd  | sort -n | uniq -c | sort -n | tail -1 | grep -o "/.*"

4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中

# sort -t: -k3 -n /etc/passwd | tail -10  | tr "a-z" "A-Z" > /tmp/maxusers.txt

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

# ifconfig | grep -o -E "\<[0-9]{1,3}\>.\<[0-9]{1,3}\>.\<[0-9]{1,3}\>.\<[0-9]{1,3}\>" | head -1

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

# ls  /etc/*.conf | tr "a-z" "A-Z" >> /tmp/etc.conf

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

# ls /var | wc -l

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

# sort -n -t: -k3 /etc/group | head -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 distro

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

# useradd -u 1005 -g distro mandriva

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

# useradd -u 1100 -d /home/linux mageia

(4)、给用户mageia添加密码,密码为mageedu

# echo "mageedu" | passwd --stdin mageia

(5)、删除mandriva,但保留其家目录;

# deluser mandriva

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

# groupadd peguin
# useradd slackware -u 2002 -g distro -G peguin

(7)、修改slackware的默认shell为/bin/tcsh;

# usermod -s /bin/tcsh slackware

 (8)、为用户slackware新增附加组admins;

# groupadd admins
# usermod -a -G admins slackware

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

# passwd -n 3 -x 180 -w 3 slackware

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

# groupadd clouds
# groupadd peguin
# groupadd nova
# useradd openstack -u 3003 -g clouds -G penguin,nova

(11)、添加系统用户mysql,要求其shell为/sbin/nologin;

# useradd -s /sbin/nologin mysql

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

# echo "openstack" | passwd --stdin openstack

原创文章,作者:哎哟喂,如若转载,请注明出处:http://www.178linux.com/23452

(0)
哎哟喂哎哟喂
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • LVM应用概要

    LVM — 即Logical Volume  Manager(逻辑卷管理管理),是Linux的一种磁盘管理机制。 LVM可以将物理磁盘以PV(Physical Volume)为单位抽象成VG(Volume Group)。在VG中,最小存储单元是一个PE(Physical Extent)。在VG的基础上再抽象一层,划分出LV(Logical Vol…

    2017-11-28
  • Linux 命令小结

    cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备…

    Linux干货 2017-06-18
  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24
  • 第四周练习

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。         # cp -r /etc/skel /home/tuser1      &nb…

    Linux干货 2016-11-18
  • Shell脚本编程入门

    什么是Shell      操作系统最外层的程序,shell通过提示符让用户输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来,管理用户与操作系统之间的交互。      Shell是一个用户跟操作系统之间的一个命令解释器。Shell是用户与Linux操作系统之间沟通…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 13:47

    写的很好,排版也很棒,加油