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

 who | cut -d" " -f1 | sort -u

who | cut -d" " -f1 | uniq

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

 w | tail -1

last -1

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

 cat /etc/passwd | cut -d":" -f7 | sort | 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' | tee /tmp/maxusers.txt

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

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

 ifconfig | cut -d' ' -f10 | head -2 | tr -d '\n'

ifconfig | cut -d' ' -f10 | head -2 | tail -1

ip addr | cut -d' ' -f6 | head -9 | tail -1

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

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

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

 find /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 /etc/{fstab,issue} > /tmp/etc.test

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

  用户管理命令:

(1)useradd:创建用户,useradd [选项] 用户名

 -u:指定UID(默认是上一个用户的 UID+1)
-g:指定基本组(此组 事先必须存在)
-G:指定附加组,多个组之间用 逗号 分隔(组 事先必须存在)
-c:添加注释信息
-d:以指定的目录为用户的家目录(通过复制 /etc/skel 此目录并重命名来实现用户家目录,如果 指定的目录 事先存在,则不会复制)
-s:指定用户的默认shell(可用的所有shell 存储在 /etc/shells 文件中)
-r:创建系统用户
-p:设置密码(明文保存密码,不用)
-M:不为用户创建家目录
-D:显示创建用户的默认配置
-D [选项]:修改创建用户的默认配置(修改的结果保存在 /etc/default/useradd 文件中)

(2)usermod:修改用户属性,usermod [选项] 用户名

 -u:修改用户的UID
-g:修改用户的基本组(此组 事先必须存在)
-G:修改用户的附加组,原有的附加组会给覆盖(组 事先必须存在)
-a:与-G 一同使用,用于为用户添加新的附加组
-c:修改注释信息
-d:修改用户的家目录,用户家目录原有的文件不会被移动
-m:与-d 一同使用,用于将原有的家目录文件移动到新的家目录
-l:修改用户名
-s:修改用户的默认shell
-L:锁定用户密码(通过在用户原来的密码字符串前添加一个“!”来达到禁止用户登录)
-U:解锁用户密码

(3)userdel:删除用户,userdel [选项] 用户名

 -r:删除用户时一并删除用户的家目录和邮箱(默认不删除)

(4)passwd:

 passwd:修改用户自己的密码
passwd 用户名:修改指定用户的密码(仅root 有权限操作)
-l,-u:锁定和解锁 用户
-d:清除用户密码
-e:使用户密码过期(用户下次登录必须重设密码)
-i 天数:密码过期后的活动期限(仅root有权限操作)
-n 天数:密码的最短使用期限(仅root有权限操作)
-x 天数:密码的最长使用期限(仅root有权限操作)
-w 天数:密码过期前的警告期限(仅root有权限操作)
--stdin:(echo "密码" | passwd --stdin 用户名,给用户设置密码)

(5)id:显示用户信息,id [选项] 用户名

 -u:仅显示uid
-g:仅显示gid
-G:显示用户所属的所有组的ID

(6)su:切换用户,su [选项] 用户名

 -c 命令:以指定用户的身份运行命令
登录式切换:重新读取目标用户的配置文件来进行初始化—su - 用户名 或 su -l 用户名
非登录式切换:不读取目标用户的配置文件—su 用户名

  组管理命令:

(1)groupadd:添加组,groupadd [选项] 组名

 -g:指定GID(默认是上一个组的 GID+1)
-r:创建系统组

(2)groupmod:修改组属性,groupmod [选项] 组名

 -g:修改GID
-n:修改组名

(3)groupdel:删除组,groupdel [选项] 组名

(4)gpasswd:给组添加密码,gpasswd [选项] 组名

 -a 用户名:向组中添加用户
-d 用户名:从组中移除用户
-r:删除密码
-A:指定组的管理员

(5)newgrp:临时切换用户的基本组,newgrp [-] 组名

 -:会模拟用户登录以实现重新初始化工作环境

  练习:

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

 groupadd -g 2016 distro

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

 useradd -u 1005 -g distro mandriva

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

 useradd -u 1100 -d /home/linux mageia

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

 echo "mageedu" | passwd --stdin mageia

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

 userdel mandriva

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

 usergroup peguin
useradd -u 2002 -g distro -G peguin slackware

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

 usermod -s /bin/tcsh slackware

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

 groupadd admins
usermod -aG admins slackware

Linux用户与组管理命令的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. linux用户与组管理命令的基本操作

    用户账号管理命令 为了提高系统的利用率,避免因多个用户共用一个root账号而造成不必要要的系统安全隐患,通常需要为 新用户添加账户.在Linux系统中,添加用户只能由超级用户来完成,也就是说,只能由r ...

  3. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  4. Linux用户和组管理命令-用户删除userdel

    删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...

  5. Linux用户和组管理命令-用户属性修改usermod

    用户属性修改 usermod 命令可以修改用户属性 格式: usermod [OPTION] login 常见选项: -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP ...

  6. Linux用户和组管理命令-切换用户su

    切换用户或以其他用户身份执行命令 su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令 格式: su [options...] [-] [user [args...] ...

  7. linux学习(五)用户与组管理命令,以及用户信息文件解释

    目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...

  8. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  9. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

随机推荐

  1. Jersey前后端交互初体验

    一 get请求 前端 基本的GET请求 $.ajax({ type : "get", url : "../rest/api/account/delete", d ...

  2. Python人工智能之初识接口

    本节需要的两个工具: 1.FFmpeg: 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w6hk 2.baidu-aip: pip ins ...

  3. position 的属性值

    理论上来说,全部 position 的取值有8个 包括:position:static | relative | absolute | fixed | sticky |  initial | inhe ...

  4. POS开发问题 - 多个弹出框的实现

    业务场景如下图: 页面出现提示框:    点击确定,隐藏上面的弹出框, 继续弹出提示:  点击确定隐藏上面的弹出框,继续弹出下面提示: 点击确定隐藏上面的弹出框,继续弹出下面提示: 点击确定,跳转页面 ...

  5. Java Knowledge series 5

    Interface from user, not from implementor.(DIP) Interface-Oriented Programming. Interface or Abstrac ...

  6. ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单

    在上一章,我们已经从数据库获取数据,然后显示出来,这一章,我们将允许编辑数据. 创建 StoreManagerController 控制器 我们将要创建称为 StoreManager 的控制器,对于这 ...

  7. js获取农历日期【转】

    var CalendarData=new Array(100); var madd=new Array(12); var tgString="甲乙丙丁戊己庚辛壬癸"; var dz ...

  8. Android 仿微信朋友圈拍小视频上传到服务器

    这个接上一个写的实现拍小视频和传到服务器的  界面是这个样子滴. 我也知不知道怎么给图片搞小一点o(╯□╰)o 布局文件是这样的[认真脸] <?xml version="1.0&quo ...

  9. JSON中不能加注释

    今天犯了一个白痴级的错误,那就是向JSON数据文件中,很多行后面添加注释(Comment,//). 导致Node.js程序不能读取JSON文件,Server启动失败. Debug时间蛮久,经同事提醒才 ...

  10. yii2.0安装ElasticSearch及使用

    yii2.0安装ElasticSearch安装及使用教程:https://www.yiichina.com/tutorial/1046 Elasticsearch 权威指南(中文版):https:// ...