马哥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

相关推荐

  • Linux 用户, 组和权限

    用户, 组和权限 Linux登陆需要用户名、密码。/etc/passwd 文件保存用户名。登录linux时,Linux 先查找 /etc/passwd 文件中是否有这个用户名,没有则跳出,有则读取用户名的user ID 、 group ID 、用户名对应的根目录路径以及所使用的 shell ,最后在 /etc/shadow 中核对该 UI…

    2017-07-22
  • 测试Markdown

    测试markdown是否可用

    Linux干货 2018-03-10
  • Linux基础——文件管理

    Linux基础——文件管理 文件管理及常用命令详解       Linux文件系统是以/为基本的倒置树状结构,我们来进一步学习下文件或者目录的操作和管理命令:  目录相关操作:cd、pwd、mkdir、rmdir 目录及文件检索:ls 复制、移动、删除:cp、mv、rm…

    Linux干货 2016-09-27
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2013-06-16
  • python文件操作

    文件操作使用的函数open 打开read 读write 写close 关其他非常用的 seek 设置读取指针 tell 读取读取指针位置 windows中def encode(self, encoding=’utf-8′, errors=’strict’)open 和它的参数open(file,mode=&#8…

    Linux干货 2017-10-31