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

[root@bj-1-160-enzhi ~]# who|cut -d ' ' -f 1|uniq -c
2 root
1 enzhi.wang

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

[root@bj-1-160-enzhi ~]# who|tail -1
enzhi.wang pts/4 2016-12-20 21:26 (192.168.1.111)

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

[root@bj-1-160-enzhi ~]# cut -d : -f 7 /etc/passwd|uniq -c|sort -rn|head -1
17 /sbin/nologin

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

[root@bj-1-160-enzhi ~]# cat /etc/passwd|sort -t : -k 3 -n|tail -10|tr [a-z] [A-Z] >/tmp/maxusers.txt
[root@bj-1-160-enzhi ~]# cat /tmp/maxusers.txt
HALDAEMON:X:68:68:HAL DAEMON:/:/SBIN/NOLOGIN
VCSA:X:69:69:VIRTUAL CONSOLE MEMORY OWNER:/DEV:/SBIN/NOLOGIN
TCPDUMP:X:72:72::/:/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
ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN
SASLAUTH:X:499:76:SASLAUTHD USER:/VAR/EMPTY/SASLAUTH:/SBIN/NOLOGIN
ENZHI.WANG:X:500:500::/HOME/ENZHI.WANG:/BIN/BASH

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

[root@bj-1-160-enzhi ~]# ifconfig eth0|egrep -o "addr:([0-9]{1,3}\.)[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"|cut -d: -f2
192.168.1.160

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

[root@bj-1-160-enzhi ~]# ls /etc/*.conf|tr [a-z] [A-Z] >/tmp/etc.conf
[root@bj-1-160-enzhi ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/CAS.CONF
/ETC/DRACUT.CONF
/ETC/FPRINTD.CONF
/ETC/GAI.CONF
/ETC/GRUB.CONF
/ETC/HOST.CONF
/ETC/INIT.CONF
/ETC/KDUMP.CONF
/ETC/KRB5.CONF
/ETC/LATRACE.CONF

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

[root@bj-1-160-enzhi var]# ll /var/|wc -l
20

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

[root@bj-1-160-enzhi var]# cat /etc/group|sort -t: -k3 -n|tail -10|cut -d: -f1
dbus
postfix
postdrop
nobody
users
stapusr
stapsys
stapdev
abrt
enzhi.wang

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

[root@bj-1-160-enzhi var]# cat /etc/fstab /etc/issue >/tmp/etc.test
[root@bj-1-160-enzhi var]# cat /tmp/etc.test #
# /etc/fstab
# Created by anaconda on Mon Dec 19 21:49:27 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=fcf4268e-5450-4872-b6f1-dacb7feda2de / ext4 defaults 1 1
UUID=150dd420-3453-4558-a238-4e5fc09d3330 /boot ext4 defaults 1 2
UUID=0f91d82a-3e45-40ed-a61c-d32dac9b0252 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /mydata ext4 defaults,noexec,noatime 0 0
CentOS release 6.8 (Final)
Kernel \r on an \m

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

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

[root@bj-1-160-enzhi ~]# groupadd -g 2016 distro
You have new mail in /var/spool/mail/root
[root@bj-1-160-enzhi ~]# tail -1 /etc/group
distro:x:2016:

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

[root@bj-1-160-enzhi ~]# useradd -g distro -u 1005 mandriva
[root@bj-1-160-enzhi ~]# tail -1 /etc/passwd
mandriva:x:1005:2016::/home/mandriva:/bin/bash
(3)、创建用户megeia,其ID号为1100,家目录为/home/linux;
[root@bj-1-160-enzhi ~]# useradd -d /home/linux -u 1100 mageia
You have new mail in /var/spool/mail/root
[root@bj-1-160-enzhi ~]# tail -1 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash

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

[root@bj-1-160-enzhi ~]# echo 666666|passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

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

[root@bj-1-160-enzhi ~]# groupadd peguin
[root@bj-1-160-enzhi ~]# useradd -u 2002 -g distro -G peguin slackware
[root@bj-1-160-enzhi ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/bash
[root@bj-1-160-enzhi ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)

​ (6)删除mandriva,单保留其家目录;

[root@bj-1-160-enzhi ~]# userdel mandriva
[root@bj-1-160-enzhi ~]# ll /home/mandriva/
total 0

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

[root@bj-1-160-enzhi ~]# usermod -s /bin/tcsh slackware
[root@bj-1-160-enzhi ~]# tail -1 /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

[root@bj-1-160-enzhi ~]# groupadd admins
You have new mail in /var/spool/mail/root
[root@bj-1-160-enzhi ~]# usermod -a -G admins slackware
[root@bj-1-160-enzhi ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)

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

[root@bj-1-160-enzhi ~]# passwd -n 3 -x 180 -w 3  slackware
Adjusting aging data for user slackware.
passwd: Success
You have new mail in /var/spool/mail/root
[root@bj-1-160-enzhi ~]# tail -1 /etc/shadow
slackware:!!:17155:3:180:3:::

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

[root@bj-1-160-enzhi ~]# groupadd nova
[root@bj-1-160-enzhi ~]# groupadd clouds
[root@bj-1-160-enzhi ~]# useradd -u 3003 -g clouds -G peguin,nova openstack
[root@bj-1-160-enzhi ~]# id openstack
uid=3003(openstack) gid=2020(clouds) groups=2020(clouds),2017(peguin),2019(nova)

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

[root@bj-1-160-enzhi ~]# useradd -r -s /sbin/nologin  mysql
[root@bj-1-160-enzhi ~]# tail -1 /etc/passwd
mysql:x:498:498::/home/mysql:/sbin/nologin

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

[root@bj-1-160-enzhi ~]# echo "openstack.com"|passwd --stdin openstack
Changing password for user openstack.
passwd: all authentication tokens updated successfully.

Linux基础练习题的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. Linux基础练习题之(四)

    Linux基础练习题 请详细总结vim编辑器的使用并完成以下练习题 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的 ...

  3. linux基础练习题(2)

    Linux命令作业(关卡二) 练习题1 理解操作系统的作用,以及各种操作系统的不同 要求: 为什么要有OS?没有OS能行吗?原因是什么? Linux内核指的是什么? Linux主要应用在哪些地方? 使 ...

  4. linux基础练习题(1)

    Linux命令作业(关卡一) 练习题1 理解操作系统的作用,以及各种操作系统的不同 要求: 简述什么是OS 简述应用程序.硬件.OS的关系 列举出3种常见的操作系统 简述Ubuntu和Linux的关系 ...

  5. linux基础练习题(3)

    关卡三 练习题 在家路径下创建A文件夹 在上一步创建的A文件夹中,创建B/C/D文件夹 在上一步所在的路径中,创建C/E/F文件夹 使用目录树查看文件夹结构 A/B/C中创建一个hello.py文件 ...

  6. Linux基础练习题(五)

    1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: [root@bj-1-142 ~]# ...

  7. Linux 基础练习题

    Linux 测试 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 [root@localhost proc]# grep -i '^s' /proc/meminfo [ ...

  8. Linux基础练习题(三)

    1.显示当前系统上root.fedora或user1用户的默认shell: [root@www ~]# egrep "^(root|fedora|user1)" /etc/pass ...

  9. 2、Linux基础练习题

    题目 答案 1.答案 [root@centos7 ~]# date +'%F %T' 2019-07-23 10:21:35 2.答案 [root@centos7 ~]# date +%A -d '- ...

随机推荐

  1. WCF学习之旅—WCF服务部署到IIS7.5(九)

    上接   WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...

  2. 使用AWS亚马逊云搭建Gmail转发服务(一)

    title: 使用AWS亚马逊云搭建Gmail转发服务(一) author:青南 date: 2014-12-30 15:41:35 categories: Python tags: [Gmail,A ...

  3. ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成

    在 ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是: 1) System.Security.Crypt ...

  4. git命令分类图

  5. .NET Core采用的全新配置系统[4]: “Options模式”下各种类型的Options对象是如何绑定的?

    旨在生成Options对象的配置绑定实现在IConfiguration接口的扩展方法Bind上.配置绑定的目标类型可以是一个简单的基元类型,也可以是一个自定义数据类型,还可以是一个数组.集合或者字典类 ...

  6. Javascript之自定义事件

    Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加.删除事件. 下面通过实例,一步一步构建一个具体的Javasc ...

  7. 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)

    今天没有延续上一篇讲的内容,穿插一段小插曲,WebSocket 实时数据通讯同步的问题,今天我们并不是很纯粹地讲 WebSocket 相关知识,我们通过 WebGL 3D 拓扑图来呈现一个有趣的 De ...

  8. JS魔法堂:不完全国际化&本地化手册 之 拓展篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  9. Devexpress Ribbon Add Logo

    一直在网上找类似的效果.在Devpexress控件里面的这个是一个Demo的.没法查看源代码.也不知道怎么写的.所以就在网上搜索了半天的. 终于找到类似的解决办法. 可以使用重绘制的办法的来解决. [ ...

  10. 几道web前端练习题目

    在 HTML 语言中,以下哪个属性不是通用属性?A]<class>B]<title>C]<href>D]<style> 在线练习:http://hove ...