第三周作业

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
下一篇 2016-12-19

相关推荐

  • mysqld_multi 多实例部署

    序言:多实例?Why?   随着硬件层面的发展,linux系统多核已经是普通趋势,而mysql是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,mysql有自己的补充,那就是可以部署多实例,一个实例一个端口。     1,准备好mysql环境…

    2017-11-16
  • N26 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# useradd tom [root@localhost ~]# echo "123456" | passwd –st…

    Linux干货 2017-01-20
  • MySQL高可用架构之MHA

    MySQL高可用架构之MHA 1、关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover功能。MHA在监控到master节点故障时,会提升其中拥有的最新数据的slave节点成为新的master节点,在此期间,MHA会通过其它从节点获取额外信息来避免一致性…

    Linux干货 2017-03-30
  • Redis集群明细文档

    Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式)。目前根据文档已经看到Redis正在开发集群功能,其中一部分已经开发完成,但是具体什么时候可以用上,还不得而知。文档来源:http://redis.io/topics/cluster-spec 一、介绍   该文档是…

    Linux干货 2015-04-04
  • 运维的危险命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。)

    2017-11-16
  • 超文本传输安全协议—HTTPS

        超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。H…

    Linux干货 2017-08-07