System01 DAY06(用户账号应用)
- 添加用户账号
问题
- 添加一个用户账号tarena01
- 指定uid为580
- 指定附加组为root组
- 指定家目录为/opt/tarena01
- 指定登陆shell为/sbin/nologin
- 用标准式输入的方式用passwd给tarena01设置密码为example
- 锁定tarena01用户密码
- 解锁tarena01用户
方案
在Linux同添加一个用户账户的命令为useradd,常用的选项较多。可以利用man命令查看其帮助信息。
本题涉及的选项: - -u:设置 UID 标记号
- -d:指定宿主目录,缺省为 /home/用户名
- -g:指定所属的基本组
- -G:指定所属的附加组
- -e:指定账号失效时间
- -s:指定用户的登录Shell
为账户设置密码的命令为passwd,管理员root可以修改任何用户的口令,所有用户(包括普通用户)都可以修改自己的口令。
常用命令选项: - -d:清空用户的密码,使之无需密码即可登录
- -l:锁定用户账号 【在shadow中的对应密码串前加两个叹号 !! 】
- -S:查看用户账号的状态(是否被锁定)
- -u:解锁用户账号 【解除锁定时添加的两个叹号 !】
- –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 ~]#
- 修改、删除、查询用户
问题
- 创建一个用户tarena02
- 修改tarena02用户家目录为/opt/tarena02,查看结果
- 修改tarena02用户过期时间为2050-11-11,查看结果
- 修改tarena02登陆的shell为/sbin/nologin,查看结果
- 修改tarena02基本组为root组,查看结果
- 删除tarena02用户保留其家目录及邮件文件
方案
修改用户属性的命令为usermod。
常用命令选项: - -l:更改用户的登录名
- -L:锁定用户账户 【在shadow中的对应密码串前加一个叹号 ! 】
- -U:解锁用户账户 【解除锁定时添加的一个叹号 !】
- -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 ~]#
- 组账号的管理控制
问题
- 新建组账号stugrp,将GID设为600
- 为stugrp组添加三个成员用户(user01、root、zhangsan)
- 从stugrp组删除一个成员(user01)
- 重新定义stugrp组的成员列表(user02、zhangsan)
- 为stugrp组添加一个组管理员user01
- 以用户user01登入,把自己添加为stugrp组的成员,删除组成员user02
方案
添加组账号的命令groupadd
格式:groupadd [-g GID] 组名
设置组成员的命令gpasswd
格式:gpasswd [选项]… 组名
常用命令选项: - -A:定义组管理员列表
- -a:添加组成员,每次只能加一个
- -d: 删除组成员,每次只能删一个
- -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
- 删除组账号
问题
- 删除今日创建的所有组
- 注意不要删除用户的主组
方案
删除组账号很简单,只需利用命令groupdel命令后面接组账号名称即可。需注意的是在Linux中用户必须要属于一个基本组,在删除组时,如果有用户的基本组是该组,是不能删除成功的。需先把用户的基本组利用usermod命令更改为其它组,才可以。
步骤
参考当天练习所建的组账号。
System01 DAY06(用户账号应用)相关推荐
- k8s 带你一步步 创建用户账号(User Account)
RBAC官方文档: https://kubernetes.io/docs/reference/access-authn-authz/rbac/ [k8s] 第九章 安全认证 https://andyo ...
- 微软回应Windows 7用户账号控制安全质疑 称将调整
据国外媒体报道,针对外界有关微软Windows 7操作系统中用户账号控制(UAC)存在安全隐患的质疑,该公司周四表示,将接受外界建议,并对该UAC默认设置进行部分调整和修订. 微软Vista操作系统上 ...
- 使用循环语句判定用户账号密码输入三次是否正确
#判定用户账号密码输入是否正确 username="yanglei" password="123456" i=3 h="Y" while i ...
- mysql 重置root_MySQL 重置Mysql root用户账号密码
重置Mysql root用户账号密码 By:授客QQ:1033553122 问题描述: 使用mysqladmin.exe执行命令时出现以下错误提示: mysqladmin: connect to se ...
- js中while死循环语句_Java系列教程day06——循环语句
day06--循环语句 提纲: 1.循环结构 2.while循环 3.do-while循环 4.for循环 5.break语句 6.continue语句 7.循环嵌套 8.作业 一.循环结构 1.1 ...
- linux 添加用户_linux ---添加普通用户账号
添加普通用户账号 可以通过如下命令来增加账号,并为新增加的用户设置密码. [root@bbs /]# useradd wyb [root@bbs /]# [root@bbs /]# passwd wy ...
- linux禁用用户账号,技术|在 Linux 系统中禁用与解禁用户的账号
总有这样的时候:有时你需要禁用某位 Linux 用户的账号,有时你还需要反过来解禁用户的账号. 本文将介绍一些管理用户访问的命令,并介绍它们背后的原理. 假如你正管理着一台 Linux 系统,那么很有 ...
- Linux 添加新用户账号并赋予root权限
除了root用户之外,通常需要为每个管理创建各自的用户账号,方便每个管理员登录使用, 步骤如下: 1. 添加新用户账号 useradd mary.lee 2. 为新用户账号设置密码 passwd ...
- Linux 命令之 userconf -- 设置用户账号
文章目录 命令介绍 常用选项 参考示例 新增用户账号 新增群组 删除用户账号 删除群组 命令介绍 userconf的命令全称是"user config",该命令是用户账号设置程序. ...
- Linux系统用户账号的管理技巧
用户账号的管理工作主要涉及到用户账号的添加.修改和删除. 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1. ...
最新文章
- hdu 4277 USACO ORZ
- Java虚拟机执行引擎多态的实现
- ajax加php实现三级联动
- 自定义EventSource(二)PollingCounter
- 为了防止程序重排序,慎用volatile
- nuc8 黑苹果_萝莉的身材野兽的心——NUC8 MacOS黑苹果-Win10双系统体验
- mysql表 spid program_oracle 解锁某张表 和编译存储过程卡死问题处理
- 栈基本操作的java代码实现(建栈,初始化栈、进栈、出栈)
- 微信购物商城网站定制需要多少钱?电商网站建设开发方案(一)
- 【办公】如何把选择题做成excel文档
- ajax测试报错Access to XMLHttpRequest at '' from origin '' has been blocked by CORS policy: No 'Access-Co
- 因变量 方差膨胀系数_如何理解方差膨胀因子(Variance Inflation Factor,VIF)?
- javascript检测浏览器是否需要升级版本和提示
- 为什么需要云计算机,为什么需要云计算?
- Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置
- 如何使用计算机语言画经纬网,使用R语言绘制中国地图
- android studio 运行闪退,ubuntu上在androidstudio中启动emulator闪退的解决方法
- Shogun docker image中不能import shogun
- 全球著名的十位质量大师
- 何海涛100题(1)自己心得
热门文章
- zhangyan php,mysql操作SQL语句_MySQL
- 头盔试验设备-头盔检测项目标准及试验设备
- 观察者模式———《设计模式》
- 华为服务器cpu是否支持虚拟化,华为2288Hv5服务器如何开启CPU Performance与Turbostat...
- linux下DB2完全卸载
- 施努卡:锂电池生产线设备(锂电池生产主要有些什么设备)
- kali下敏感目录扫描工具Nikto使用
- matlab巴特沃兹滤波器,巴特沃兹滤波器 - 低通模拟滤波器的设计方案
- c程序设计语言(kr版的,C程序设计语言 (KR)
- 学习linux的第八十四天