马哥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
下一篇 2017-12-31

相关推荐

  • 第四周作业

    作业 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@cloud ~]# cp -R /etc/skel /home/tuser1 && chmod -R…

    Linux干货 2016-12-25
  • shell编程之函数

    函数:函数function是由若干条shell命令组成的语句块,实现代码 重用和模块化编程      1)函数的定义: 可在 命令行,脚本的一部分,只有函数的单独文件 中定义        两部分组成:函数名和函数体;函…

    Linux干货 2016-08-21
  • 计算机的组成及Linux简单介绍

    马哥教育网络班22期第一周练习 计算机概述 进入计算机的世界 计算机 计算机(computer)俗称电脑,是能够按照程序运行,自动、高速出炉海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,计算机的组成遵循冯诺依曼体系。可分为超级计算机、工业控制计算机、网络计算机、个人计算机和嵌入式计算机等五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。…

    Linux干货 2016-08-14
  • OpenStack之keystone

    一、什么是OpenStack    OpenStack是一种云操作系统,它控制着一个数据中心里大量的计算、存储和网络资源。管理员在一个web界面内通过仪表盘方便地管理,控制,授权用户,以提供各种资源。 二、云服务分类 可分为IAAS, PAAS, SAAS等 IAAS:Infrastructure as a Service (操作系统级别…

    Linux干货 2017-01-19
  • Linux Shell(脚本)编程入门

    为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建…

    Linux干货 2017-08-05
  • 马哥教育网络班20期+第3周课程练习

     1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 法一: who | cut -d ‘ ‘ -f 1 | tail -u 法二: who | cut -d ’’-f&…

    Linux干货 2016-06-26