Linux 基础(三)——用户管理&正则表达式

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

who | cut -d " " -f1 | uniq

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

last -1 | cut -d " " -f1 | head -1 | id

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

cat /etc/passwd | cut -d ":" -f7 | uniq -c | sort -n | tail -1

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

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

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

ifconfig eth0 | grep -E -o "((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9][0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9][0-9])" | head -1

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

ls /etc/*.conf | tr [a-z] [A-Z] > /tmp/etc.conf

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

ls /var/ | wc -w

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

sort /etc/group -t: -k3 -n | head -10 | cut -d: -f1

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

cat /etc/fstab /etc/issue > /tmp/etc.test

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

   (1)、创建组distro,其GID2016

                   groupadd -g 2016 distro

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

                   useradd -u 1005 -g 2016 mandriva

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

                   useradd -u 1100 -d /home/linux mageia

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

                   echo mageedu | passwd –stdin mageia

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

                   userdel mandriva

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

                   useradd -u 2002 -g distro -G peguin slackware

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

                   usermod -s /bin/tcsh slackware

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

                   usermod -aG admins slackware

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

                   echo mageedu | passwd –stdin -n 3 -x 180 -w 3 slackware

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

                   useradd -u 3003 -g clouds -G peguin,nova openstack

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

                   useradd -r -s /sbin/nologin mysql

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

                   echo "openstack" | passwd –stdin openstack

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

(0)
conanconan
上一篇 2016-11-08
下一篇 2016-11-08

相关推荐

  • Nginx 代理和缓存

    一 实验环境 Nginx 版本:nginx-1.8.1 Nginx代理服务器WAN:192.168.1.5 LAN:172.16.2.1 Web1:172.16.2.2 Web2:172.16.2.3 1.  配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器 2.      …

    Linux干货 2016-12-05
  • python高阶函数与装饰器

    ##**高阶函数**– 函数是python中的一等公民– 函数也是对象,可调用对象– 函数可以作为普通变量、参数、返回值等等– 数学概念y = g(f(x))– 高阶函数满足以下至少一个条件:1.接收一个或多个函数作为参数 2.输出一个函数 ##**举例(计数器)**def counter(base…

    Linux干货 2017-10-23
  • 2016-10-18作业

    2016-10-17 课后作业  1. 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。     1)首先,查看本地硬件时间是否正确,命令如下:       hwclock       如果该时间是正确的,使用该时间来更新系统时间。命令如下: &nbs…

    Linux干货 2016-10-20
  • Shell脚本编程

    shell脚本编程 Bash为用户提供了编程环境 相对于计算机而言,只能识别二进制文件,因此其所运行的其实是二进制指令,而这些二进制指令我们称之为机器语言,属于低级语言;程序员编程所使用的语言为高级语言,是人们比较容易理解的语言;因此,程序的执行过程:先把源码程序翻译成机器语言(生成可执行的文件),然后解释执行。程序( 程序=指令+数据 )的编程风格有两种:…

    2017-04-14
  • MAN手册各章节功能介绍及快捷键键位整理

       初学linux ,请教别人的时候,遇到人不耐烦回答我等菜菜的问题,都会说一句,“自己去man”,“翻过man了吗,再来问吧”,哦,my gd,这个man到底是何方超人啊,其实man就是linux自带的文档,假如你不知道ls这个命令的用法,你可以试着敲入 man  ls  ,然后来看看,会有啥结果。效果不错吧,一般…

    Linux干货 2016-10-18
  • linux基础学习-网络基础

    一、OSI七层模型 二、TCP/IP模型         三次握手原理 三、常见服务的默认端口 四、IP地址、子网划分基础知识     通信原理:一般数据的交互产生是在应用层(TCP/IP模型),应用层以下可以看成是搬运工,不同层的协议定义了不同的搬运工的工作内容,直到最后,把数…

    Linux干货 2016-09-05