第三周作业

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

相关推荐

  • shell 脚本中数组的总结

    描述:   变量是存储单个元素的内存空间,而数组是多个变量的集合,是一个连续的空间;但整个数组只能有 的名字。   数组内的数据都有指定的索引,从而找到数组内所指定的数据。索引的编号是从0开始的,依次递增(0,1,2,3,…),这种方式叫数值索引。格式为:数组名[索引];${ARRAY_NAME[INDEX]}。索引也支持自定…

    Linux干货 2016-08-29
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [ro…

    Linux干货 2016-07-29
  • Linux系统基础(二)

    一、Linux文件管理命令及其常用方法 1、cd(切换目录)这个命令应该是Linux中用的最频繁的一个命令之一了,因为我们经常需要进行目录的切换。在详解这个命令之前,首先得补充一个重要的知识,就是我们常用的一些比较特殊的目录: .        代表当前目录 .. &n…

    Linux干货 2016-09-24
  • Zabbix通过邮件报警

                    Zabbix通过邮件报警 前言 本篇文章转自我的个人博客 http://anyisalin.com 欢迎大家访问 这次的内容大部分都是操作, 但是大家需要对定…

    2016-05-13
  • sed工具的基本用法

    sed -n(不输出模式,不自动打印) sed -d(删除匹配到的内容) sed-e(多点编辑) sed-r(支持扩展正则表达式) sed#,#(地址定界,在此范围中匹配) sed 1~2   sed 2~2 (找奇数行和偶数行) sed =(为打印到的内容编辑行号)  sed!(取反) sed s///(查找替换,支持使用其他…

    Linux干货 2017-05-02
  • 登录后经常出现You have new mail in /var/spool/mail/root的提示

    安装完LINUX后经常使用终端远程登录,登录后经常出现You have new mail in /var/spool/mail/root的提示,很是烦人。 这东西到底是做什么用的呢?经过查询才知道这是LINUX的邮年提示功能。LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息发送的root的邮箱里,以供有需之时查看。 那要怎么去掉这麻…

    系统运维 2017-08-05