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

相关推荐

  • N22-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。      2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为…

    Linux干货 2016-09-05
  • CA,DNS,LAMP实现wordpress

    拓扑图见编译实现LAMP,bind,CA.jpg test3配置:     yum -y install bind     修改named.conf配置文件:     //      listen-on por…

    2017-04-23
  • shell基础if与case

    1.read   使用read来把输入值分配给一个或多个shell变量;   -p 指定要显示的提示;例如 read -p "SHURU" num   -t TIMEOUT   read 从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量 2.流程控制   过程…

    Linux干货 2016-08-18
  • nginx基础模块

    目录: nginx基础模块: 1.ngx_http_access_module模块: 2.ngx_http_auth_basic_module模块 3.ngx_http_stub_status_module模块 4.ngx_http_log_module模块 5.ngx_http_gzip_module: 6.ngx_http_ssl_module模块: 7…

    Linux干货 2017-08-08
  • 第六周作业-练习题sed,crontab,bash

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;    方法一用sed:          方法二用vim       &…

    Linux干货 2017-01-16
  • TCP连接的状态详解以及故障排查

    我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。(总结网络上的内容) 1、TCP状态 linux查看tcp的状态命令: 1)、netstat -nat  查看TCP各个状态的数量 2)、lsof  -i:port  可以检测到打开套接字的状况 3)、 &nbs…

    Linux干货 2015-04-03