用户和组管理类命令的使用

第三周作业.png

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

who | cut -d' ' -f1 | sort | uniq

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

who | head -1 或者last | head -1

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

cut -d: -f 7 /etc/passwd | uniq -c | sort -rn | head -1

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

sort -rn -t: -k3 /etc/passwd | head -10 | tr 'a-z' 'A-Z'|tee > /tmp/maxusers.txt

5.提取当前主机地址,提示:对ifconfig命令结果进行切分

CentOS7 : ifconfig  | grep -Po '(?<=inet)(.*)(?=net)' | head -1
CentOS6: ifconfig  | grep -Po '(?<=addr:)(.*)(?=Bcast)' | head -1

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

ls /etc/*.conf | tr 'a-z' 'A-Z' | tee > /tmp/conf.test

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

ll /var/ | wc -l

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

sort -rn -t: -k3 /etc/group | tail -10 | cut -d: -f1

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

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

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

创建用户:

useradd

-u :用户的UID

-g :指定私有组

-c :对这个用户的描述

-d :指定家目录

-s :指定shell

-G :指定附加组

-r: 创建系统用户

修改用户:

usermod

-u :修改用户的UID

-g :修改指定的私有组

-c :修改对这个用户的描述

-d :修改指定的家目录

-s :修改指定的shell

-G :修改指定的附加组

-a:表示在原来所属组的基础上追加

删除用户:

userdel

-r: 删除用户家目录

创建组:

groupadd

-g : 指定组的GID

-r: 创建系统组

修改组属性:

groupmod

-n : 修改组的名字

-g :修改组的GID

删除组:

groupdel [组的名字]

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

groupadd distro -g 2016

 (2)创建用户mandriva,其ID号为1005, 基于组为distro

useradd -u 1005 mandriva -g distro

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

useradd mageia -u 1100 -d /home/linux

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

passwd mageia

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

userdel mandriva

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

useradd slackware -u 2002 -g distro -G peguin

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

usermod -s /bin/tcsh slackware

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

usermod -G admins slackware

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

passwd slackware -n 3 -x 180 -w 3

(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

 

 

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

(0)
evergreen1989evergreen1989
上一篇 2016-11-21
下一篇 2016-11-22

相关推荐

  • 内键命令和外部命令

    命令的基本格式 COMMAND  [OPTIONS…]  [ARGUMENTS…]        命令 (COMMAND)       OPTIONS(选项):用于启用或关闭命令的某个或某些功能      …

    2017-05-23
  • Tomcat性能优化-2

    修改Connector运行模式 启用NIO 或 APR bio介绍 bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作 默认模式,性能最差,没有经过任何优化处理和支持 nio模式 nio(non-blocking I/O),Java SE 1.4…

    Linux干货 2016-09-19
  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

    1)bash的工作特性之命令执行状态返回值; 在 Linux 下,任意一个命令执行结束之后,bash都会返回0-255之间的数值以表示命令执行成功与否;其返回值保存于bash的特殊变量$?中; 其中0表示:执行成功;1-255表示执行错误; 例如: [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks…

    Linux干货 2016-11-06
  • Linux网络管理&脚本编程之执行流程、循环

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(Bridge):是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switc…

    Linux干货 2016-11-14
  • BIND(Berkeley Internet Name Domain) is an implementation of the DNS(Domain Name System) (Blob 12)

    正向解析区域、反向解析区域;主/从;子域;基本安全控制;

    2017-11-29
  • sed 高级用法(1) 之 n N

    前言 我在参考其它多个Blog中发现,有些Blog中sed的功能介绍和实际有出入,这可能和版本有关系,正如sed文档中所说“might change in future versions”,所以本文sed是以4.2.1为例。如果以后sed更新版本了,有可能会不一样。 好记性不如烂笔头! sed的工作原理 sed维护着两个数据的缓冲空间,一个是模式空间(pat…

    Linux干货 2015-07-03

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 23:56

    第八题添加附加组需要-a,要不然会把默认组改掉,你可以再试试,加油。