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

相关推荐

  • 初识Linux基础

    一:计算机的组成及其基本功能 计算机主要由五大基础部件组成:控制器,运算器,存储器,输入设备,输出设备。 1、控制器:计算机的核心组件,协调各程序的运行,对计算机的各项资源进行控制分配; 2、运算器:计算机实现算术运算以及逻辑运算的部件; 3、存储器:计算机用来存放数据和程序的基本部件,存储器由若干存储单元组成,每个存储单元都有一个             …

    Linux干货 2018-03-04
  • N22-第一周作业

    1、描述计算机的组成及其功能    组成:        硬件:            CPU:运算器、控制器、寄存器、缓存     &nb…

    Linux干货 2016-08-15
  • 计算1000以内的总质数个数

    #include <stdio.h> int main() { int micro[500]; // 质数保存素组 int number = 0; // 质数个数 micro[number++] = 2; // micro[0]=2 micro[number++] = 3; // micro[1]=3, number=2 unsigned lon…

    Linux干货 2017-03-22
  • Linux计划任务和进程

    一、进程管理 1.进程简介 一个程序对应多个进程;一个进程对应一个程序。 2.进程状态的查看与控制 查看进程状态 w 查看个别用户的进程 eg: w userName list-info JCPU: PCPU: WAHT: from: IDLE: 用户空闲时间 load average: ps -aux -a: 显示所有用户的进程 -u:显示用户名和启动时间…

    2017-09-09
  • 系统管理之磁盘管理(二)磁盘配额,RAID,LVM

    上篇博文给大家介绍了磁盘和文件系统的基础知识,也是最基本的使用.在实际生产环境中,对于磁盘的使用,要求稳定,灵活,那么下面给大家分享下磁盘的高级用法.磁盘配额,RAID,LVM等相关知识. 1.磁盘配额2.磁盘RAID3.LVM 一.磁盘配额 1.概述: • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同…

    Linux干货 2016-09-05
  • Linux终端类型

    Linux终端类型 Linux的终端类型包括控制台终端、虚拟终端、伪终端、串行终端、控制终端、图形终端。   终端 要理解伪终端(Pseudo Terminal),先来看看什么是“终端”(Terminal)。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 1、串行端口终端(/dev/ttySx) 串行端口终端(Ser…

    Linux干货 2016-10-14