马哥教育网络班22期+第3周课程练习

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

    who | cut -d' ' -f1 | uniq

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

    last -1 | cut -d' ' -f1 | id #取出最后一条登录记录,并获取该用户的基本信息
    或
    last -1 #取出最后一个登录用户的登录信息

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

    cat /etc/passwd | cut -d: -f7 | uniq -c | sort | head -1

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

    sort  -t  ':' -k3n /etc/passwd | tail -10 | tr a-z A-Z > /tmp/maxusers.txt

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

    ifconfig | grep "\<inet\>" | grep -v "127.0.0.1" | awk '{ print $2}'

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

    ls /etc/*.conf | cut -d\/ -f3 | tr a-z A-Z > /tmp/etc.conf

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

    ls -lR /var | grep "^-" | wc -l #文件的个数
    ls -lR /var | grep "^d" | wc -l #文件夹的个数
    let sum=$(ls -lR /var | grep "^d" | wc -l)+$(ls -lR /var | grep "^-" | wc -l);echo $sum
    #计算总个数

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

    sort  -t  ':' -k3n /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)删除用户mangriva,保留其家目录;
    userdel mangriva
(6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    groupadd peguin
    useradd -u 2002 -g distro -G peguin slackware
(7)修改slackware的默认shell为/bin/tcsh。
    usermod -s '/bin/tcsh' slackware
(8)为用户slackware新增附加组admins。
    groupadd admins
    usermod -aG admins slackware
(9)为slackware添加密码,且要求密码最短使用期限为3天,最长使用期限为180天,警告为3天;
    echo "slackware" | passwd --stdin -n 3 -x 180 -w 3 slackware
(10)添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin和nova。
    groupadd clouds
    groupadd nova
    useradd -u 3003 -g clouds -G peguin,nova openstack
(11)添加系统用户mysql,要求其shell为/sbin/nologin.
    useradd -s '/sbin/nologin' -r mysql
(12)使用echo命令,非交互式为openstack添加密码。
    echo "openstack" | passwd --stdin openstack

原创文章,作者:N22-江西-H随风,如若转载,请注明出处:http://www.178linux.com/48607

(0)
上一篇 2016-09-26 08:56
下一篇 2016-09-26 08:57

相关推荐

  • sed&awk

    Evernote Export 1、总结sed和awk的详细用法; awk Linux文本处理工具三剑客:grep、sed和awk。其中grep是一种文本过滤工具,sed是文本编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种“排版”,进而格式化显示。 在Linux之上我们使用的是GNU a…

    Linux干货 2017-01-05
  • 20160808作业

    1、删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符      2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符      3、在/root/install.log每一行行首增加#号  &nbs…

    Linux干货 2016-08-11
  • Linux的哲学理念

    1、由目的单一的小程序组成,通过使用者的组合形成一个能够完成复杂任务的应用程序 2、一切皆为文件 3、尽量避免捕获用户接口;也就是说Linux运行的程序大多数是不需要过多的反复输入/输出人机交互信息,运行程序命令,直接获得反馈的结果,是一种目的单一的程序 4、配置文件保存为纯文本格式

    Linux干货 2016-10-29
  • 雷人的程序注释

    使用Google code search可以搜索到一些比较有趣的代码注释,呵呵。下面的这些程序注释有搞笑的,也有粗口,看来写程序本来也不是一件很枯燥的事,关键看你的心态如何了。读到这些注释的时候,只能想到一个词,那就是“疯狂的程序员”,哈哈。Have a Fun  ;-) 写个程序时不忘表达自己的感情,以免以后忘了。 呵呵,看来自己也不是很自信。 …

    Linux干货 2016-05-10
  • 如何编译源码安装

    #include <stdio.h> main() {printf(“Hello World!\n”); } gcc -o hello hello.c 在编写hello.c的时候出现问题一直找不到,后来发现是因为我安装的gcc有问题 我在安装的时候是用rpm -ivh gcc –nodeps忽略依赖关系直接安装…

    2017-08-19
  • rsyslog日志系统

    一、前言  什么是日志?    日志就是历史事件,按时间序列将发生的事件予以记录;日志记录信息记录的是事件的发生时间以及事件内容  Linux下记录日志的系统:    syslog:是CentOS 5.0系统上使用的日志系统,有两类日志,分别是syslogd、klogd;    …

    Linux干货 2015-06-15

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-11 22:32

    第五题取得的是addr:x.x.x.x,如果单独显示IP还需要再截取一下