马哥教育网络班20期+第2周课程练习

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

   who | cut -d" " -f1 | uniq

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

   id $(who | cut -d" "  -f1 | tail -1) 


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

  cat /etc/passwd | sort -t: -k 7 | cut -d: -f 7| uniq -c | sort -n | tail -1 | cut -d" " -f 7

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

   cat /etc/passwd | sort -n -t: -k 3 | tail -10 | tr a-z A-Z > /tmp/maxusers.txt

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

   ifconfig | egrep  -o "\<(([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\2[0-4][0-9]|25[0-5])\>\.){3}\<([1-9]|1[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>" | head -1


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

   ls /etc/ | grep -E ".*(\.conf)\>$" | tr a-z A-Z >> /tmp/etc.conf


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

   tree -L 2 /var/ 有问题 


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

   cat /etc/group | sort -t: -k3 | head -10 |cut -d: -f 1


9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

   cat /etc/fstab > /tmp/etc.test && cat /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


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

      echo "mageedu" | passwd –stdin mageia 

 

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

      userdel mandriva


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

      useradd -u 2002 -g distro -G peguin      


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

      usermod -s /bin/tcsh slackware


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

      usermod -G admins slackware


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

       passwd -n 3 -x 180 -w 3 slackware


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

       useradd -u 3003 -g clouds -G peguin,nova   


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

       useradd -r -s /bin/nologin mysql


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

       echo "mageedu" | passwd –stdin openstack

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

(0)
love_in_linuxlove_in_linux
上一篇 2016-06-23 11:08
下一篇 2016-06-23 11:09

相关推荐

  • N23 9月底的

    1.linux下文件管理命令 cat 读取文件 或者连接显示touch 建立文件 改变时间 cp 复制文件 -f 强制复制 不论覆盖-r 连同子目录递归处理-l 建立硬链接-s 建立符号连接 rm 删除文件 -r 递归删除 连同子目录也一起干掉-f 强制 删除文件或者目录-d 直接删除目录 file 辨识文件类型 find 查找文件 whereis 查找文件…

    Linux干货 2016-09-25
  • centos 7.3二进制安装mariadb10.2.8

    1 rpm -qa mariadb* 2 getent passwd mysql useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql 3 tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/cd /usr/local/ln -s mariadb…

    Linux干货 2017-10-16
  • FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

    前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd、pureftp、ServU和wu-ftpd等。本文将讲解vsftpd的基本功能和如何基于PAM和MySQL/MariaDB实现虚拟用户访问控制。 基础配置介绍 工作原理 状态响应码 1xx:信息码 2xx…

    2015-04-20
  • iptables详解

    iptables命令: iptables [-t table] {-A|-C|-D} chain rule-specification iptables [-t table] -I chain [rulenum] rule-specification iptables [-t table] -R chain rulenum rule-specificatio…

    Linux干货 2017-11-12
  • 简单的启动排错

    一、出现 grub> 字样,等待交互式输入指令,说明MBR中Bootloader的stage1、stage1_5、stage2都正常,但丢失了/boot/grub.conf 文件,所以无法加载启动项菜单,就无法读取默认启动的kernel、initrd等文件路径。 解决办法:无需救援模式,直接在此交互式界面指定相关文件的加载路径。 (1) grub&gt…

    Linux干货 2016-11-26
  • linux高级文件管理系统

    磁盘配额:    linux是一个多用户的系统,磁盘配额是分配给每个用户的磁盘可用空间的限制。每一用户只能使用最大配额范围内的磁盘空间。root是不受配额限制的,只有普通用户才受限制。   Quota是在RedHatlinux下实现linux磁盘配额的工具,它支持单独的挂载文件系统,而不是一个目录。quota默认是安装的,如果没…

    Linux干货 2016-09-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-23 11:36

    写的很棒,可以在关注一下排版的问题,可以用shell 这样会更好一些,加油