马哥Linux第三周作业

正则表达式 用户和组管理

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

~]# who | cut -d” ” -f1 | uniq

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

~]# who | tail -1 | cut -d” ” -f1 | id

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

~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1

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

~]# sort -t: -k3 -n /etc/passwd | tail -10 | tr “a-z” “A-Z” > /tmp/maxusers.txt

5.取出当前主机的ip地址

~]# ifconfig eno16777728 | egrep -o “inet \<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>”

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

~]# ls /etc/*.conf | tr “a-z” “A-Z” > /tmp/etc.conf

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

~]# ll -d /var/* | wc -l

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

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

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

~]# cat fstab issue > /tmp/etc.test

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

groupadd:创建一个新组
格式:groupadd [选项] GROUPNAME
-g GID:指定GID
-r:创建系统组
groupmod:修改组属性
格式:groupmod [选项] GROUPNAME
-g GID:修改GID
-n NEWNAME:修改组名
groupdel:删除用户组
格式:groupdel [选项] GROUPNAME

useradd:创建一个新用户或更新默认新用户信息
格式:
useradd [选项] 用户名
-u UID:指定UID
-g group:指定基本组,此组得事先存在
-c COMMENT:指定注释信息
-G GROUP1[,GROUP2,…[,GROUPN]]]:指定用户所属的附加组,多个组之间用逗号分隔
-d HOMEDIR:以指定作为用户家目录,通过复制/etc/skel并重命名实现的;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件,最终家目录的父目录必须事先存在
-s SHELL:指定用户SHELL,可用的所有shell列表为/etc/shells
-r:创建系统用户
-M:不创建家目录
-p:设置密码
注意:创建用户时的诸多默认设定的配置文件为/etc/login.defs

useradd -D:显示创建用户的默认配置
useradd -D [选项]:修改默认选项值
修改的结果保存于/etc/default/useradd

usermod:修改用户属性
格式:usermod [选项] 用户名
-u UID:修改用户的UID
-g group:修改用户所属的基本组,此组得事先存在
-G GROUP1[,GROUP2,…[,GROUPN]]]:修改用户的附加组,原来的附加组会被覆盖
-a:将用户添加到附加组。只能和 -G 选项一起使用,-a在-G前
-c COMMENT:修改注释信息
-d HOMEDIR:修改用户的家目录,用户原有的文件不会被转移至新目录
-m:只能与-d一起使用,用于将原来的家目录移动为新的家目录
是将原有的家目录移动到新的路径下,新的家目录路劲不能事先存在
-l NEWNAME:修改用户名
-s SHELL:修改SHELL
-L:锁定用户的密码,即在文件/etc/shadow中用户原来的密码字符串前添加一个“!”
-U:解锁用户密码

userdel:删除用户
格式:userdel [选项] 用户名
-r:删除用户时一并删除其家目录

passwd:update user’s authentication tokens
格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
passwd:修改执行此命令的用户自己的密码
passwd USERNAME:修改指定用户的密码,但仅root有此权限
-l,-u:锁定和解锁用户
-d:删除用户密码
-e DATE:过期期限,日期
-i DAYS:非活动期限
-n DAYS:密码的最短使用期限
-x DAYS:密码的最长使用期限
-w DAYS:警告期限
–stdin:
echo “PASSWORD” | passwd –stdin USERNAME

gpasswd:设置组密码
组密码文件为/etc/gshadow
格式:gpasswd [选项] group
-a USERNAME:向组中添加用户,以此组为附加组
-d USERNAME:从组中移除用户

newgrp GROUP:临时切换指定的组为基本组,该组须为此用户的附加组,如果不是,此组必须有组密码,否则无法切换;exit切换回来
格式:newgrp [-] [group]
-:会模拟用户重新登录以实现重新初始化其工作环境

⑴创建组distro,其GID为2016

~]# groupadd -g 2016 distro

⑵创建用户mandriva,其ID号为1005,基本组为distro

~]# useradd -u 1005 -g distro mandriva

⑶创建用户mageia,其ID号为1100,家目录为/home/linux

~]# useradd -u 1100 -d /home/linux mageia

⑷给用户mageia添加密码,密码为mageedu

~]# echo “mageedu” | passwd –stdin mageia

⑸删除mandriva,但保留其家目录

~]# userdel mandriva

⑹创建用户slackware,其ID号为2002,基本组为distro,附加组为peguin

~]# groupadd peguin;useradd -u 2002 -g distro -G peguin slackware

⑺修改slackware的默认shell为/bin/tcsh

~]# usermod -s /bin/tcsh slackware

⑻为用户slackware新增附加组admins

方法一:~]# groupadd admins;usermod -a -G admins slackware

方法二:~]# groupadd admins;gpasswd -a slackware admins

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90667

(0)
欧阳欧阳
上一篇 2017-12-30 17:46
下一篇 2017-12-31 11:09

相关推荐

  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至…

    系统运维 2016-07-12
  • 本周学习总结

    这周我们学习了很多比较深的命令,有点烧脑,这次我总结一下sed命令。      sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的容送往屏幕。然后读入下行,执行下一个循环。如果…

    2017-08-28
  • Centos7 编译安装 zabbix3.0

    服务安装配置: 系统版本:CentOS Linux release 7.2.1511 (Core)   zabbix 安装 关闭firewall:   systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机…

    Linux干货 2016-06-23
  • 源码包编译安装

    程序包编译安装:      Application-VERSION-release.src.rpm–> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装      源代码 –> 预处理 –> 编译 &#8…

    Linux干货 2016-08-23
  • 双网卡绑定及单网卡多IP地址实现方法

    Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。mode=1(active-backup):一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份…

    Linux干货 2016-09-05
  • 磁盘分区和文件系统管理

    磁盘分区 两种分区方式:MBR,GPT  MBR: Master Boot Record,1982年,使用32位表示扇区 数,分区不超过2T  如何分区:按柱面      0磁道0扇区:512bytes      446bytes: boo…

    Linux干货 2016-08-29