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,其GID为2016;

                   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,附加组为peguin和nova;

                   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

相关推荐

  • shell编程之循环及函数

    for 循环 for 变量名 in 列表;do    循环体 done   执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中 的元素耗尽,循环结束   列表生成方式: (1)直接给出列表 (2)整数列表: (a) {start..end} (b) $(seq [start [s…

    Linux干货 2016-08-24
  • Linux网络管理之网络配置管理和子网划分

    配置网卡信息 获取网卡的信息 dmesg | grep -i eth 获取网卡芯片信息 lspci | grep -i eth 查询IP信息 ifconfig显示IP信息    -a:显示包括未激活状态的网卡信息 重启网卡服务(每次配置完ip需要手动重启此服务) CentOS6: servcie network restart CentO…

    Linux干货 2016-09-07
  • N25 第二周作业

    一.Linux上常用的文件管理类命令及用法示例     1.cp复制命令,具体有两个,一为单源复制,一种为多源复制。      常用选项         -i :交互式复制,覆盖之前提醒用户确认。       …

    Linux干货 2016-12-12
  • 逻辑卷配置管理

    逻辑卷管理逻辑卷创建1、fdisk t 8e //修改分区类型 2、pvcreate  /dev/sd{a7,b} //创建物理卷pvs pvdisplay   //查看物理卷信息 3、vgcreate  vg0  /dev/sd{a7,b}  //创建卷组v…

    Linux干货 2016-08-30
  • Bash Shell中的for循环和运算表达式应用

    Bash Shell中的for循环和运算表达式应用 1、写一个脚本 实现以下功能: 接受一个以上文件路径作为参数, 显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数。设定此脚本至少需要一个参数并给出提示,$#表示参数的个数。将脚本提供的所有参数组成一个列表放入for语句依次进行循环执行echo "$i has $(wc -l $i | …

    Linux干货 2016-12-13
  • shell脚本之变量、运算、条件测试。

    概述 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令; 编程语言: 低级:             汇编 高级:…

    Linux干货 2016-08-15