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)
上一篇 2016-11-08 20:21
下一篇 2016-11-08 23:00

相关推荐

  • 第五周练习

    1、显示当前系统上root、fedora或user1用户的默认shell; egrep “^(root|fedora|user1)” /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后边跟一组小括号的行,形如:hello(); grep “\<.*\>()” /etc/r…

    Linux干货 2017-08-04
  • LAMP实战

    说明:本实验在单主机搭建。下面的步骤只需要你复制粘贴,即可完成实验。 1、安装httpd mkdir /tools cd /tools #获取软件包 wget -c http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.16.tar.gz wget http://m…

    Linux干货 2015-10-08
  • 初识Linux

    一,计算机的组成和功能 计算机主要由四个部分组成,内存、缓存、CPU和寄存器。其中缓存及其重要,为CPU和内存之间的缓存,寄存器存放指令,CPU负责执行指令。内存是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。 二,Linux的主流发行版本 Linux的发行版有数百种之多,其中主流的三种为: Debia…

    Linux干货 2017-12-04
  • Linux之账号管理

    Linux之账号管理 一、新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel 在Linux登录系统时会输入账号和密码,所以创建用户也需要这两个数据。新建用户用useradd命令,密码的给予则用passwd命令。 useradd 1.添加新用户 -u: -u  uid username 创建用户时指定uid(如…

    2017-07-23
  • grep命令与正则表达式的应用示例、find命令应用示例

    grep命令与正则表达式的应用示例、find命令应用示例 显示当前系统上root、fedora或user1用户的默认shell。 使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:   找出/et…

    Linux干货 2016-11-28
  • 堡垒机-麒麟堡垒机动态口令使用手册

      一.管理员部分 1.在其它-licenses菜单查看动态口令许可是否打开,如果未打开联系厂商重新生成许可   2.找厂商生成密钥文件,密钥文件中包含令牌种子,在其它–动态令牌菜单将密钥文件导入即可看到所有的令牌种子,每个令牌可以绑定给多个用户     3.令牌绑定可以在 资源管理–…

    安全运维 2016-05-29