N22-第三周作业

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

[root@localhost ~]# w |cut -d ' ' -f1 |sort -u

lucy

root

USER

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

[root@localhost ~]# last -1

root     pts/1        192.168.1.112    Fri Aug 26 07:28   still logged in   

用户名   接口         ip地址             日期时间           状态

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

[root@localhost ~]# cut -d : -f 7 /etc/passwd |uniq -c |sort -rn |head -n 1

17 /sbin/nologin  

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

[root@localhost ~]# cat /tmp/maxusers.txt

FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN

TSS:X:59:59:ACCOUNT USED BY THE TROUSERS PACKAGE TO SANDBOX THE TCSD DAEMON:/DEV/NULL:/SBIN/NOLOGIN

SSHD:X:74:74:PRIVILEGE-SEPARATED SSH:/VAR/EMPTY/SSHD:/SBIN/NOLOGIN

DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN

POSTFIX:X:89:89::/VAR/SPOOL/POSTFIX:/SBIN/NOLOGIN

NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN

AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN

POLKITD:X:997:995:USER FOR POLKITD:/:/SBIN/NOLOGIN

SYSTEMD-NETWORK:X:998:996:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN

SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN

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

[root@localhost ~]# ifconfig |head -2 |tail -1 |cut -d : -f2 |cut -d ' ' -f1

192.168.1.130

 

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

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

[root@localhost ~]# cat /tmp/etc.conf

/ETC/ASOUND.CONF            (部分截图)

/ETC/DNSMASQ.CONF

/ETC/DRACUT.CONF

/ETC/E2FSCK.CONF

/ETC/HOST.CONF

/ETC/KDUMP.CONF

/ETC/KRB5.CONF

/ETC/LD.SO.CONF

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

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

20

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

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

root

bin

daemon

sys

adm

tty

disk

lp

mem

kmem

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

[root@localhost ~]# cat /etc/{fstab,issue} >/tmp/etc.test

[root@localhost ~]# cat /tmp/etc.test

#

# /etc/fstab

# Created by anaconda on Thu Aug 25 18:05:14 2016

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=fcf2a715-a00a-4193-97b4-7ead5614ce7c /                       xfs     defaults        0 0

UUID=d8ccbbf6-8fc4-4dd1-9448-8238564cce7f /boot                   xfs     defaults        0 0

UUID=e4f79c29-1201-457b-b364-2ad4c7adb517 /home                   xfs     defaults        0 0

UUID=17677f39-6b53-4e77-a4a4-69429fefcf87 /usr                    xfs     defaults        0 0

UUID=21b4d037-9c04-4d6e-ba2e-334564c522c1 /var                    xfs     defaults        0 0

UUID=8fa28b1a-0a7d-4878-8a4d-b2fbe2264333 swap                    swap    defaults        0 0

\S

Kernel \r on an \m

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

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

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

[root@localhost ~]# grep "distro" /etc/group

distro:x:2016:

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

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

[root@localhost ~]# grep "mandriva" /etc/passwd

mandriva:x:1005:2016::/home/mandriva:/bin/bash

(3).创建用户mageia,其ID号为1000,家目录为/home/linux

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

[root@localhost ~]# grep "mageia" /etc/passwd

mageia:x:1000:1000::/home/linux:/bin/bash

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

[root@localhost ~]# echo "mageedu" |passwd –stdin mageia

Changing password for user mageia.

passwd: all authentication tokens updated successfully.

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

[root@localhost ~]# userdel mandriva

[root@localhost ~]# ls /home

linux  mandriva

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

[root@localhost ~]# groupadd peguin        (先创建组peguin)

[root@localhost ~]# grep "peguin" /etc/group    (查看一下创建的组peguin是否存在)

peguin:x:2017:

[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware (创建用户slackware)

[root@localhost ~]# grep "slackware" /etc/passwd    (查看刚创建的slackware用户信息)

slackware:x:2002:2016::/home/slackware:/bin/bash

[root@localhost ~]# grep "slackware" /etc/group    (查看slackware用户的附加组是否为peguin)

peguin:x:2017:slackware

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

[root@localhost ~]# grep "slackware" /etc/passwd

slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

[root@localhost ~]# groupadd admins    (创建admins组)

[root@localhost ~]# usermod -a -G admins slackware    (为slackware用户添加附加组admins)

[root@localhost ~]# grep "slackware" /etc/group    (查看一下添加是否成功)

peguin:x:2017:slackware

admins:x:2018:slackware

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

[root@localhost ~]# passwd -n 3 -x 180 -w 3 slackware;echo "slackware" |passwd –stdin slackware

Adjusting aging data for user slackware.

passwd: Success

Changing password for user slackware.

passwd: all authentication tokens updated successfully.

[root@localhost ~]# grep "slackware" /etc/shadow

slackware:$6$Ml.5YQi.$ciCuXjuYRgUOVQwLpq4xzPqHXITmKnA0LNUtK42iYwjfNiqgToTGiSWmZ/1cF4EVMrHCq7e1chSi3wYqlWXdl.:17039:3:180:3:::

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

[root@localhost ~]# groupadd clouds;groupadd nova        (添加用户组clouds,nova,peguin之前已经创建过了)

[root@localhost ~]# grep  -E "clouds|nova" /etc/group        (查看刚创建的两个组是否存在)

clouds:x:2019:

nova:x:2020:

[root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack     (根据要求,创建用户openstack)

[root@localhost ~]# grep "openstack" /etc/{passwd,group}        (查看openstack用户的信息和所属组的信息)

/etc/passwd:openstack:x:3003:2019::/home/openstack:/bin/bash      (第四字段的'2019'是用户组clouds的组ID)      

/etc/group:peguin:x:2017:slackware,openstack

/etc/group:nova:x:2020:openstack

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

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

[root@localhost ~]# grep "mysql" /etc/passwd

mysql:x:996:994::/home/mysql:/sbin/nologin    (第三字段UID和第四字段GID都小于1000,系统账户的UID和GID都小于1000)

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

[root@localhost ~]# echo "openstack" |passwd –stdin openstack    (设置用户openstack的密码为自己的用户名)

Changing password for user openstack.

passwd: all authentication tokens updated successfully.

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

(0)
heianyangguoheianyangguo
上一篇 2016-08-27 21:39
下一篇 2016-08-28 15:17

相关推荐

  • 什么叫Linux

    什么叫linux:     Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 谁编写的linux: Linux的出现,最早…

    Linux干货 2017-03-27
  • 那些年我们一起追过的缓存写法(三)

    原文出处: 蘑菇先生    上次我们说了多级缓存,本章详细介绍下内存缓存该如何设计。 一:分析设计 假设有个项目有一定并发量,要用到多级缓存,如下: 在实际设计一个内存缓存前,我们需要考虑的问题: 1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的压力。 2:内存容量的限制,需要控制缓存数量。 3:热点数…

    Linux干货 2015-03-04
  • 软连接与硬连接

    硬链接定义 新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 硬链接(hard link) ln   UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项…

    Linux干货 2017-07-22
  • 第六周-Vim、计划任务及Shell脚本练习

    一、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit 末行模式输入 :%s@^[[:space:]]\+@#&@g 二、复制/boot/grub/grub.co…

    Linux干货 2017-08-13
  • grub应用 (Blog 10)

    grub1.x 、grub2.x详解

    2017-11-27
  • 数组和变量之间的关系及如何灵活运用数组

    什么是数组?数组:存储多个元素的连续的内存空间,相当于多个变量的集合什么是变量? 变量即是存储单个元素的内存空间 如果整个数组只有一个名字;数组名是数组的标识;也是数组所指向的存储多个元素的连续的内存空间开始地址的标识;数组索引定义从 0 开始(第一个数组元素);到 N 结束引用某个数组元素时,数组名+【索引】格式:${ARRAY_NAM…

    Linux干货 2017-05-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 12:55

    将每一条命令都标注上具体完成的功能,很好,请继续努力