1. 添加用户账号
     问题
  1. 添加一个用户账号tarena01
  2. 指定uid为580
  3. 指定附加组为root组
  4. 指定家目录为/opt/tarena01
  5. 指定登陆shell为/sbin/nologin
  6. 用标准式输入的方式用passwd给tarena01设置密码为example
  7. 锁定tarena01用户密码
  8. 解锁tarena01用户
     方案
    在Linux同添加一个用户账户的命令为useradd,常用的选项较多。可以利用man命令查看其帮助信息。
    本题涉及的选项:
  9. -u:设置 UID 标记号
  10. -d:指定宿主目录,缺省为 /home/用户名
  11. -g:指定所属的基本组
  12. -G:指定所属的附加组
  13. -e:指定账号失效时间
  14. -s:指定用户的登录Shell
    为账户设置密码的命令为passwd,管理员root可以修改任何用户的口令,所有用户(包括普通用户)都可以修改自己的口令。
    常用命令选项:
  15. -d:清空用户的密码,使之无需密码即可登录
  16. -l:锁定用户账号 【在shadow中的对应密码串前加两个叹号 !! 】
  17. -S:查看用户账号的状态(是否被锁定)
  18. -u:解锁用户账号 【解除锁定时添加的两个叹号 !】
  19. –stdin:从标准输入(比如管道)取密码
    查看结果可以利用grep命令,从/etc/passwd与/etc/shadow筛选。
     步骤
    实现此案例需要按照如下步骤进行。
    步骤一:添加一个用户账号tarena01
    命令操作如下所示:
    [root@localhost ~]# useradd -u 580 -G root -d /opt/tarena01 -s /sbin/nologin tarena01
    [root@localhost ~]# grep tarena01 /etc/passwd /etc/shadow //查看是否创建成功
    /etc/passwd:tarena01❌580:580::/opt/tarena01:/sbin/nologin
    /etc/shadow:tarena01:!!:16450:0:99999:7:::
    [root@localhost ~]# ls /opt/ //查看家目录是否创建成功
    man.config nsd.txt passwd tarena01
    [root@localhost ~]#
    步骤二:用标准式输入的方式用passwd给tarena01设置密码为example
    注意加密前后/etc/shadow第二个字段值的变化,命令操作如下所示:
    [root@localhost ~]# grep tarena01 /etc/shadow //没有加密前第二个字段为”!!”
    tarena01:!!:16448:0:99999:7:::
    [root@localhost ~]# echo example | passwd --stdin tarena01
    更改用户 tarena01 的密码 。
    passwd: 所有的身份验证令牌已经成功更新。
    [root@localhost ~]# grep tarena01 /etc/shadow //加密后第二字段为加密字符串
    tarena01:$6 6 Y H O n r N i 6YHOnrNi 6YHOnrNitn7ULJ78LLFvukzqOClyOh45epZkV2vEo.O46hEJiaqWud4TN.iTwmJtue6Loa94WPNenofqtwSutwOG4bGJL0:16448:0:99999:7:::
    [root@localhost ~]#
    步骤三:锁定tarena01用户密码
    注意锁定前后/etc/shadow第二个字段值的变化,命令操作如下所示:
    [root@localhost ~]# grep tarena01 /etc/shadow //没有锁定前,第二字段没有”!”
    tarena01: 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
    [root@localhost ~]# passwd -l tarena01
    锁定用户 tarena01 的密码 。
    passwd: 操作成功
    [root@localhost ~]# passwd -S tarena01 //查看用户状态,已锁定
    tarena01 LK 2015-01-15 0 99999 7 -1 (密码已被锁定。)
    [root@localhost ~]# grep tarena01 /etc/shadow //锁定后,第二字段前多出”!!”
    tarena01:!! 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
    [root@localhost ~]#
    步骤四:解锁tarena01用户
    注意解锁前后/etc/shadow文件第二个字段值的变化,命令操作如下所示:
    [root@localhost ~]# grep tarena01 /etc/shadow //解锁前,第二个字段前有”!!”
    tarena01:!! 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
    [root@localhost ~]# passwd -u tarena01
    解锁用户 tarena01 的密码 。
    passwd: 操作成功
    [root@localhost ~]# passwd -S tarena01 //查看用户状态,密码可以使用
    tarena01 PS 2015-01-15 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
    [root@localhost ~]# grep tarena01 /etc/shadow //解锁后,第二个字段前面的”!!”消失
    tarena01: 6 6 6AB/uup2/$/Iz9MqkqKKd7NhF9Dm4nCdBc8VjfLH.DF.4xBKHPAPt8onfVBE7JwxR9bw8V1wWK5thgXCctdAEf0T9ymeor70:16450:0:99999:7:::
    [root@localhost ~]#
  1. 修改、删除、查询用户
     问题
  1. 创建一个用户tarena02
  2. 修改tarena02用户家目录为/opt/tarena02,查看结果
  3. 修改tarena02用户过期时间为2050-11-11,查看结果
  4. 修改tarena02登陆的shell为/sbin/nologin,查看结果
  5. 修改tarena02基本组为root组,查看结果
  6. 删除tarena02用户保留其家目录及邮件文件
     方案
    修改用户属性的命令为usermod。
    常用命令选项:
  7. -l:更改用户的登录名
  8. -L:锁定用户账户 【在shadow中的对应密码串前加一个叹号 ! 】
  9. -U:解锁用户账户 【解除锁定时添加的一个叹号 !】
  10. -u、-d、-e、-g、-G、-s:与useradd命令相同
    删除用户的命令为userdel。
    只删用户账号(不删宿主目录、邮箱文件等数据):userdel 用户名。
    删除用户账号及数据:userdel -r 用户名。
    查看指定用户的标识:id 用户名。
     步骤
    实现此案例需要按照如下步骤进行。
    步骤一:创建一个用户tarena02
    命令操作如下所示:
    [root@localhost ~]# useradd tarena02
    [root@localhost ~]# grep tarena02 /etc/passwd /etc/shadow
    /etc/passwd:tarena02❌581:581::/home/tarena02:/bin/bash
    /etc/shadow:tarena02:!!:16448:0:99999:7:::
    [root@localhost ~]#
    步骤二:修改tarena02用户家目录为/opt/tarena02,查看结果
    命令操作如下所示:
    [root@localhost ~]# grep tarena02 /etc/passwd
    tarena02❌581:581::/home/tarena02:/bin/bash
    [root@localhost ~]# usermod -d /opt/tarena02 tarena02
    [root@localhost ~]# grep tarena02 /etc/passwd
    tarena02❌581:581::/opt/tarena02:/bin/bash
    [root@localhost ~]#
    步骤三:修改tarena02用户过期时间为2050-11-11,查看结果
    命令操作如下所示:
    [root@localhost ~]# grep tarena02 /etc/shadow
    tarena02:!!:16448:0:99999:7:::
    [root@localhost ~]# usermod -e 2050-11-11 tarena02
    [root@localhost ~]# grep tarena02 /etc/shadow
    tarena02:!!:16448:0:99999:7::29534:
    [root@localhost ~]#
    步骤四:修改tarena02登陆的shell为/sbin/nologin,查看结果
    命令操作如下所示:
    [root@localhost ~]# grep tarena02 /etc/passwd
    tarena02❌581:581::/opt/tarena02:/bin/bash
    [root@localhost ~]# usermod -s /sbin/nologin tarena02
    [root@localhost ~]# grep tarena02 /etc/passwd
    tarena02❌581:581::/opt/tarena02:/sbin/nologin
    [root@localhost ~]#
    步骤五:修改tarena02基本组为root组,查看结果
    命令操作如下所示:
    [root@localhost ~]# id tarena02 //查看tarena02用户的信息
    uid=581(tarena02) gid=581(tarena02) 组=581(tarena02)
    [root@localhost ~]# usermod -g root tarena02
    [root@localhost ~]# id tarena02
    uid=581(tarena02) gid=0(root) 组=0(root)
    [root@localhost ~]#
    步骤六:删除tarena02用户保留其家目录及邮件文件
    命令操作如下所示:
    [root@localhost ~]# userdel tarena02
    [root@localhost ~]# id tarena02
    id: tarena02:无此用户
    [root@localhost ~]#
  1. 组账号的管理控制
     问题
  1. 新建组账号stugrp,将GID设为600
  2. 为stugrp组添加三个成员用户(user01、root、zhangsan)
  3. 从stugrp组删除一个成员(user01)
  4. 重新定义stugrp组的成员列表(user02、zhangsan)
  5. 为stugrp组添加一个组管理员user01
  6. 以用户user01登入,把自己添加为stugrp组的成员,删除组成员user02
     方案
    添加组账号的命令groupadd
    格式:groupadd [-g GID] 组名
    设置组成员的命令gpasswd
    格式:gpasswd [选项]… 组名
    常用命令选项:
  7. -A:定义组管理员列表
  8. -a:添加组成员,每次只能加一个
  9. -d: 删除组成员,每次只能删一个
  10. -M:定义组成员用户列表,可设置多个
     步骤
    实现此案例需要按照如下步骤进行。
    步骤一:新建组账号stugrp,将GID设为600
    命令操作如下所示:
    [root@localhost ~]# groupadd –g 600 stugrp
    [root@localhost ~]# grep stugrp /etc/group /etc/gshadow
    /etc/group:stugrp❌600:
    /etc/gshadow:stugrp:!::
    [root@localhost ~]#
    为stugrp组添加三个成员用户(user01、root、zhangsan),命令操作如下所示:
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:
    [root@localhost ~]# useradd user01
    [root@localhost ~]# useradd zhangsan
    [root@localhost ~]# id user01 //确认user01用户存在
    uid=581(user01) gid=582(user01) 组=582(user01)
    [root@localhost ~]# id zhangsan //确认zhangsan用户存在
    uid=582(zhangsan) gid=583(zhangsan) 组=583(zhangsan)
    [root@localhost ~]# id root //确认root用户存在
    uid=0(root) gid=0(root) 组=0(root)
    [root@localhost ~]# gpasswd -M user01,root,zhangsan stugrp
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:user01,root,zhangsan
    [root@localhost ~]#
    从stugrp组删除一个成员(user01),命令操作如下所示:
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:user01,root,zhangsan
    [root@localhost ~]# gpasswd -d user01 stugrp
    Removing user user01 from group stugrp
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:root,zhangsan
    [root@localhost ~]#
    重新定义stugrp组的成员列表(user02、zhangsan),命令操作如下所示:
    [root@localhost ~]# useradd user02
    [root@localhost ~]# id user02
    uid=583(user02) gid=584(user02) 组=584(user02)
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:root,zhangsan
    [root@localhost ~]# gpasswd -M user02,zhangsan stugrp
    [root@localhost ~]# grep stugrp /etc/group
    stugrp❌600:user02,zhangsan
    [root@localhost ~]#
    为stugrp组添加一个组管理员user01,命令操作如下所示:
    [root@localhost ~]# grep stugrp /etc/gshadow //查看组管理员列表
    stugrp:!::user02,zhangsan
    [root@localhost ~]# gpasswd -A user01 stugrp
    [root@localhost ~]# grep stugrp /etc/gshadow //查看组管理员列表
    stugrp:!:user01:user02,zhangsan
    [root@localhost ~]#
    以用户user01登入,把自己添加为stugrp组的成员,删除组成员user02
    [root@localhost ~]# su - user01 //切换用户身份
    [user01@localhost ~]$ whoami //查看自己当前用户身份
    user01
    [user01@localhost ~]$ grep stugrp /etc/group
    stugrp❌600:user02,zhangsan
    [user01@localhost ~]$ gpasswd -a user01 stugrp
    Adding user user01 to group stugrp
    [user01@localhost ~]$ grep stugrp /etc/group
    stugrp❌600:user02,zhangsan,user01
    [user01@localhost ~]$ gpasswd -d user02 stugrp
    Removing user user02 from group stugrp
    [user01@localhost ~]$ grep stugrp /etc/group
    stugrp❌600:zhangsan,user01
    [user01@localhost ~]$exit //退出当前用户回到root
  1. 删除组账号
     问题
  1. 删除今日创建的所有组
  2. 注意不要删除用户的主组
     方案
    删除组账号很简单,只需利用命令groupdel命令后面接组账号名称即可。需注意的是在Linux中用户必须要属于一个基本组,在删除组时,如果有用户的基本组是该组,是不能删除成功的。需先把用户的基本组利用usermod命令更改为其它组,才可以。
     步骤
    参考当天练习所建的组账号。

System01 DAY06(用户账号应用)相关推荐

  1. k8s 带你一步步 创建用户账号(User Account)

    RBAC官方文档: https://kubernetes.io/docs/reference/access-authn-authz/rbac/ [k8s] 第九章 安全认证 https://andyo ...

  2. 微软回应Windows 7用户账号控制安全质疑 称将调整

    据国外媒体报道,针对外界有关微软Windows 7操作系统中用户账号控制(UAC)存在安全隐患的质疑,该公司周四表示,将接受外界建议,并对该UAC默认设置进行部分调整和修订. 微软Vista操作系统上 ...

  3. 使用循环语句判定用户账号密码输入三次是否正确

    #判定用户账号密码输入是否正确 username="yanglei" password="123456" i=3 h="Y" while i ...

  4. mysql 重置root_MySQL 重置Mysql root用户账号密码

    重置Mysql root用户账号密码 By:授客QQ:1033553122 问题描述: 使用mysqladmin.exe执行命令时出现以下错误提示: mysqladmin: connect to se ...

  5. js中while死循环语句_Java系列教程day06——循环语句

    day06--循环语句 提纲: 1.循环结构 2.while循环 3.do-while循环 4.for循环 5.break语句 6.continue语句 7.循环嵌套 8.作业 一.循环结构 1.1 ...

  6. linux 添加用户_linux ---添加普通用户账号

    添加普通用户账号 可以通过如下命令来增加账号,并为新增加的用户设置密码. [root@bbs /]# useradd wyb [root@bbs /]# [root@bbs /]# passwd wy ...

  7. linux禁用用户账号,技术|在 Linux 系统中禁用与解禁用户的账号

    总有这样的时候:有时你需要禁用某位 Linux 用户的账号,有时你还需要反过来解禁用户的账号. 本文将介绍一些管理用户访问的命令,并介绍它们背后的原理. 假如你正管理着一台 Linux 系统,那么很有 ...

  8. Linux 添加新用户账号并赋予root权限

    除了root用户之外,通常需要为每个管理创建各自的用户账号,方便每个管理员登录使用, 步骤如下: 1.  添加新用户账号 useradd  mary.lee 2.  为新用户账号设置密码 passwd ...

  9. Linux 命令之 userconf -- 设置用户账号

    文章目录 命令介绍 常用选项 参考示例 新增用户账号 新增群组 删除用户账号 删除群组 命令介绍 userconf的命令全称是"user config",该命令是用户账号设置程序. ...

  10. Linux系统用户账号的管理技巧

    用户账号的管理工作主要涉及到用户账号的添加.修改和删除. 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1. ...

最新文章

  1. hdu 4277 USACO ORZ
  2. Java虚拟机执行引擎多态的实现
  3. ajax加php实现三级联动
  4. 自定义EventSource(二)PollingCounter
  5. 为了防止程序重排序,慎用volatile
  6. nuc8 黑苹果_萝莉的身材野兽的心——NUC8 MacOS黑苹果-Win10双系统体验
  7. mysql表 spid program_oracle 解锁某张表 和编译存储过程卡死问题处理
  8. 栈基本操作的java代码实现(建栈,初始化栈、进栈、出栈)
  9. 微信购物商城网站定制需要多少钱?电商网站建设开发方案(一)
  10. 【办公】如何把选择题做成excel文档
  11. ajax测试报错Access to XMLHttpRequest at '' from origin '' has been blocked by CORS policy: No 'Access-Co
  12. 因变量 方差膨胀系数_如何理解方差膨胀因子(Variance Inflation Factor,VIF)?
  13. javascript检测浏览器是否需要升级版本和提示
  14. 为什么需要云计算机,为什么需要云计算?
  15. Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置
  16. 如何使用计算机语言画经纬网,使用R语言绘制中国地图
  17. android studio 运行闪退,ubuntu上在androidstudio中启动emulator闪退的解决方法
  18. Shogun docker image中不能import shogun
  19. 全球著名的十位质量大师
  20. 何海涛100题(1)自己心得

热门文章

  1. zhangyan php,mysql操作SQL语句_MySQL
  2. 头盔试验设备-头盔检测项目标准及试验设备
  3. 观察者模式———《设计模式》
  4. 华为服务器cpu是否支持虚拟化,华为2288Hv5服务器如何开启CPU Performance与Turbostat...
  5. linux下DB2完全卸载
  6. 施努卡:锂电池生产线设备(锂电池生产主要有些什么设备)
  7. kali下敏感目录扫描工具Nikto使用
  8. matlab巴特沃兹滤波器,巴特沃兹滤波器 - 低通模拟滤波器的设计方案
  9. c程序设计语言(kr版的,C程序设计语言 (KR)
  10. 学习linux的第八十四天