第三周作业

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

who | cut -d' ' -f1 | sort -u

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

grep  "$(who | sort -t' ' -k3 -r | cut -d' ' -f1 | head -1)"  /etc/passwd

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

cut -d: -f7 /etc/passwd | sort | uniq -c | sed  's@^[[:space:]]\+@@' | sort -rn -t' ' -k1 | cut -d' ' -f2 | head -1

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

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

5. 取出当前主机的IP地址

ifconfig | awk -F' ' '/inet/{print $2}'

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

for i in $(ls -d /etc/*.conf); do echo "$i"; done | cut -d/ -f3 | tr [a-z] [A-Z] > /tmp/etc.conf

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

ls /var | wc -l

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

cat /etc/group | sort -n -t: -k3 | head -10 | awk -F: '{print $1}'

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

cat /etc/passwd /etc/issue | tee /tmp/etc.test

10. 请总结描述用户和组管理类命令的使用方法并完成以下练习:

  • 创建组distro,其GID为2016;

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

useradd -u 1005 -g distro mandriva
  • 创建用户mageia,其ID号为1100,家目录为/home/linux;

useradd -u 1100 -d /home/linux mageia
  • 给用户mageia添加密码,密码为mageedu;

echo "mageedu" | passwd --stdin mageia
  • 删除mandriva,但保留其家目录

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

useradd -u 2002 -g distro -G distro,peguin slackware
  • 修改slackware的默认shell为/bin/tcsh;

usermod -s /bin/tcsh slackware
  • 为用户slackware新增附加组admins

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

passwd  -n 3 -x 180 -w 3 slackware
  • 添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin和nova;

useradd -u 3003 -g clouds -G clouds,peguin,nova openstack
  • 添加系统用户mysql,要求其shell为/sbin/nologin;

useradd -r -s /sbin/nologin mysql
  • 使用echo命令,非交互式为openstack添加密码;

echo "mageedu" | passwd --stdin openstack

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

(0)
allenallen
上一篇 2016-12-19 11:50
下一篇 2016-12-19 13:13

相关推荐

  • 磁盘配额

    磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统。 [root@local ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4. 然后把/dev/sda5分区挂载到 /home [root@local ~]# mount /dev/sda5 /home [root@local ~]# …

    Linux干货 2017-05-02
  • 一起学DNS系列(十三)图文详说A、CNAME、MX和NS记录

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/226194    前面用了12个小节对DNS的基础、以及Windows的DNS系统作了较详细的描述,下面的几节主要是说一些有关DNS应用方面…

    2015-03-18
  • Gitlab代码管理仓库安装部署

    GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查…

    2016-07-26
  • http加速器varnish

    一、web缓存概述       缓存,又称加速器,用于加速运行速度较快的设备与较慢设备之间的通信。基于程序的运行具有局部性特征其能实现加速的功能:       时间局部性:一个数据被访问之后,在随后较短的时间内有可能被访问。   &nbsp…

    2016-11-18
  • Linux程序包管理方式

    Linux程序包安装和管理方式共计三种:          一、[yum|dnf],通过官网或者其他开源网站提供的文件服务器,本机镜像源等途径进行安装。         二、rpm,通过官网或者其他开源网站通过…

    Linux干货 2016-07-29
  • centos启动流程

    加电自检 检测硬件是否存在并且能够正常运行,如cpu、内存、硬盘是否存在并能正常运行,以及外围得输入输出设备是否存在,如键盘、鼠标、显示器。 bios启动次序,按照次序查找个引导设备,启动第一个具有引导程序的设备,即为本次启动需要加载的设备。 加载boot loader bootloader安装在mbr中,linux的bootloader程序为grub和li…

    Linux干货 2017-11-14