马哥教育网络第21期-第三周课程练习

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

[root@localhost ~]# who | cut -d: -f1 | uniq

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

[root@localhost /]# last |head -n 1
root     pts/1        192.168.1.103    Sat Jul 23 14:45   still logged in

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

[root@localhost /]# cat /etc/passwd | cut -d: -f7 |uniq -c |sort -n |tail -n 1

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

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

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

[root@localhost /]# ifconfig | grep 'inet addr' |cut -d: -f3 |awk '{print $1}'

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

[root@localhost /]# ls /etc | grep '.conf$' |tr 'a-z' 'A-Z > /tmp/etc.conf'

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

[root@localhost /]# ls /var | wc -l

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

[root@localhost /]# sort -t: -k3 -n /etc/group |head -n 10 |cut -d: -f1

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

[root@localhost /]# cat /etc/fstab /etc/issue >/tmp/etc.test

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

   (1)、创建组distro,其GID为2016;

[root@localhost /]# groupadd -g 2016 distro

   (2)、创建用户mandriva, 其ID号为1005;基本组为distro;

[root@localhost /]# useradd -u 1005 -g distro mandriva

   (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

[root@localhost /]# useradd -u 1100 -d /home/linux mageia

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

[root@localhost /]# echo "mageedu" | passwd --stdio mageia

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

[root@localhost /]# userdel mandriva

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

[root@localhost /]#groupadd peguin
[root@localhost /]#useradd -u 2002 -g distro -G peguin slackware

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

[root@localhost /]#usermod -s /bin/tcsh slackware

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

[root@localhost /]#groupadd admins
[root@localhost /]#usermod -aG admins slackware

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

[root@localhost /]#passwd -n 3 -w 3 -x 180 slackware

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

[root@localhost /]#useradd -u 3003 -g clouds -G peguin,nova openstack

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

[root@localhost /]#useradd -s /sbin/nologin mysql

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

[root@localhost /]#echo "openstark" | passwd --stdin openstack

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

赞 (0)
N21_619463772N21_619463772
上一篇 2016-07-29 15:25
下一篇 2016-07-29 15:25

相关推荐

  • shell脚本编程之函数、case语句

    一、函数 调用函数前必须先定义,调用时仅使用函数名即可。 语法: function  函数名 {      函数体 } 也可表示为: 函数名 () { 函数体 } 示例:写一个脚本,判定网络内有哪些主机在线,在线的用绿色显示,不在线的用红示表示: c_net&…

    Linux干货 2015-08-24
  • 马哥教育网络班第19期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之; 3、写一个脚本  …

    Linux干货 2016-08-08
  • 磁盘存储和系统文件

    ll /dev/sd*查看硬盘设备ll dev/sda 8,0主要设备号和次要设备号mknod专门创建块文件 mknod /data/sda 8,1dd if=data/zerofile of=test bs=1M count=10hexdump -c test 查看里面lsblk查看硬盘名cenos6 加硬盘名字会变 7会自己排列head:磁头track:…

    Linux笔记 2018-05-03
  • shell脚本进阶

    一、for循环 for 变量名 in 列表;do 循环体 done   列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq [start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用; $@, $* &nbsp…

    Linux笔记 2018-05-14
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep -E "^[[::space]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;…

    Linux干货 2016-08-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-29 15:50

    写的很好,排版也很棒,加油