echo $PATH

用户账号管理

  • 用户账号的作用:用户账号可用来登录系统,可以实现访问控制
  • 用户模板目录:/etc/skel/
[root@localhost ~]# ls -a /etc/skel/
. .. .bash_logout .bash_profile .bashrc .mozilla [root@localhost ~]# cd /etc/skel/
[root@localhost skel]# vim prompt

useradd创建用户

  • useradd 命令用于创建新的用户

  • 命令格式:useradd [-选项] 用户名

  • 常用选项:

  • -u 指定用户UID

  • -d 指定用户家目录

  • -c 用户描述信息

  • -g 指定用户基本组

  • -G 指定用户附加组

  • -s 指定用户的shell

[root@localhost ~]# useradd user1

#创建用户并指定用户的UID
[root@localhost ~]# useradd -u 1100 user2 #创建用户并指定用户的家目录
root@localhost ~]# useradd -d /opt/user3 user3 #创建用户并指定UID与用户描述信息
[root@localhost ~]# useradd -u 1400 -c yunwei user4 #创建test组
[root@localhost ~]# groupadd test #创建用户指定用户UID、描述信息、基本组
[root@localhost ~]# useradd -u 1500 -c xxoo@163.com -g test user5
[root@localhost ~]# id user5 #创建用户指定用户UID、描述信息、附加组
[root@localhost ~]# useradd -u 1600 -c yunwei -G test xiaozhang
[root@localhost ~]# id xiaozhang
uid=1600(xiaozhang) gid=1600(xiaozhang) 组=1600(xiaozhang),1401(test) #/sbin/nologin :禁止用户登录系统
[root@localhost ~]# useradd -u 1800 -c test -s /sbin/nologin user8
user8:x:1800:1800:test:/home/user8:/sbin/nologin

id命令

  • id 命令用于查看系统用户和用户所在组的信息
  • 命令格式:id [-选项] [用户名]
[root@localhost ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1)

/etc/passwd用户信息文件

用户的基本信息存放在/etc/passwd文件

用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序

[root@localhost ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
#每个字段含义解释:用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序
UID:0 超级用户
UID:1-499 系统伪用户,不能登录系统并且没有家目录
UID:500-65535 普通用户

UID:0 超级用户

UID:1-499 系统伪用户,不能登录系统并且没有家目录

UID:500-65535 普通用户

组:

基本组(初始组):一个用户只允许有一个基本组

附加组(在基本组之外组):一个用户可以允许有多个附加组

用户--->shell程序--->内核--->硬件

/etc/default/useradd文件

/etc/default/useradd 存放用户默认值信息

[root@localhost ~]# vim /etc/default/useradd
# useradd defaults file
GROUP=100 #用户默认组
HOME=/home #用户家目录
INACTIVE=-1 #密码过期宽限天数(/etc/shadow文件第7个字段)
EXPIRE= #密码失效时间(/etc/shadow文件第8个字段)
SHELL=/bin/bash #默认使用的shell
SKEL=/etc/skel #模板目录
CREATE_MAIL_SPOOL=yes #是否建立邮箱

/var/spool/mail/用户邮件目录

[root@localhost ~]# ls /var/spool/mail/
laowang lisi rpc user1 user2 user3 user4 user5 user8 xiaozhang

passwd设置用户密码

passwd命令用于设置用户密码

命令格式:passwd [-选项] [用户名]

密码规范:长度不能少于8个字符,复杂度(数字、字母区分大小写,特殊字符),普通用户

密码规范:本次修改的密码不能和上次修改的密码太相近

常用选项

-S 查看密码信息

-l 锁定用户密码

-u 解锁用户密码

-d 删除密码

--stdin 通过管道方式设置用户密码

非交互设置用户密码

命令格式:echo "密码" | passwd --stdin 用户名

#设置用户密码
[root@localhost ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:1
无效的密码: 密码是一个回文
重新输入新的 密码:1
passwd:所有的身份验证令牌已经成功更新。 #使用user1用户登录系统
[user1@localhost ~]$ ls
prompt
[user1@localhost ~]$ cat prompt
不允许随便修改系统xx文件!
有问题可联系管理员邮箱:xxoo@163.com #查看用户密码信息
[root@localhost ~]# passwd -S user1 #锁定用户当密码
[root@localhost ~]# passwd -l user2
锁定用户 user2 的密码 。
passwd: 操作成功 [root@localhost ~]# passwd -S user2
user2 LK 2021-04-10 0 99999 7 -1 (密码已被锁定。) #解锁用户密码
[root@localhost ~]# passwd -u user2
解锁用户 user2 的密码。
passwd: 操作成功 #删除用户密码
[root@localhost ~]# passwd -d user2
清除用户的密码 user2。
passwd: 操作成功 #非交互设置用户密码
[root@localhost ~]# echo 1 | passwd --stdin laowang
更改用户 laowang 的密码 。
passwd:所有的身份验证令牌已经成功更新。

/etc/shadow用户密码文件

  • 用户的密码信息存放在/etc/shadow文件中,该文件默认任何人都没有任何权限(不包括root)
[root@localhost ~]# vim /etc/shadow
root:$6$1ji5e8yglrZWAcI6$FONKr3qebZufQ.u0Mf/MbipzGw/MVvxS.vgXcy/duc4b/GU0U7tfe37wPQ4XJEXstqBuwvaJqq2/kY/g/783u/::0:99999:7:::
#每个字段含义解释:
第一字段:用户名
第二字段:密码加密字符串,加密算法为SHA512散列加密算法,如果密码位是“*”或者“!!”表示密码已过期
第三个字段:密码最后一次修改日期,日期从1970年1月1日起,每过一天时间戳加1
第四个字段:密码修改的期限,如果该字段为0表示随时可以修改密码,例如:该字段为10,代表10天之内不可以修改密
第五个字段:密码有效期
第六个字段:密码到期前警告时间(和第五个字段相比)
第七个字段:密码过期后的宽限天数(和第五个字段相比)
第八个字段:账号失效时间,日期从1970年1月1日起
第九个字段:保留 #chage命硬用于修改/etc/shadow文件信息,修改文件内容第三个字段(密码最后一次修改时间)
[root@localhost ~]# chage -d 0 user8

su命令

  • su命令用于切换当前用户身份到其他用户身份
  • 命令格式:su [-选项] [用户名]
#只切换用户身份,环境没有改变[root@localhost ~]# su user1[user1@localhost root]$ lsls: 无法打开目录.: 权限不够[user1@localhost root]$ cd[user1@localhost ~]$ exitexit#切换用户身份,连同环境一起切换[root@localhost ~]# su - user1上一次登录:六 4月 10 16:54:40 CST 2021pts/1 上[user1@localhost ~]$ pwd/home/user1#普通用户切换为root(需要输入root用户的密码)[user1@localhost ~]$ su - root密码:上一次登录:六 4月 10 16:05:17 CST 2021从 192.168.0.1pts/2 上

usermod修改用户属性

  • usermod 命令用于修改已存在用户的基本信息

  • 命令格式:usermod [-选项] 用户名

  • 常用选项:

  • -u 修改用户UID

  • -d 修改用户家目录

  • -g 修改用户基本组

  • -c 修改用户描述信息

  • -G 添加用户附加组

  • -s 修改用户shell

#修改用户UID(用户如果以登录系统,不允许修改)[root@localhost ~]# usermod -u 1111 user1[root@localhost ~]# id user1uid=1111(user1) gid=1001(user1) 组=1001(user1)#修改用户描述信息[root@localhost ~]# usermod -c xxoo@163.com user8#修改用户的附加组[root@localhost ~]# usermod -G test user8[root@localhost ~]# id user8uid=1800(user8) gid=1800(user8) 组=1800(user8),1401(test)#修改用户的解释器[root@localhost ~]# usermod -s /bin/bash user8

userdel删除用户

  • userdel 用于删除给定的用户以及与用户相关的文件,该命令若不加选项仅删除用户账号,不删除用户相关文件

  • 命令格式:userdel [-选项] 用户名

  • 常用选项:

  • -r 删除用户同时,删除与用户相关的所有文件

#删除用户,仅删除账号,不删除家目录[root@localhost ~]# userdel user8[root@localhost ~]# ls /homelaowang  lisi  user1  user2  user4  user5  user8  xiaozhang[root@localhost ~]# id user8id: user8: no such user#删除用户,连同用户家目录一并删掉[root@localhost ~]# userdel -r user4[root@localhost ~]# ls /homelaowang  lisi  user1  user2  user5  user8  xiaozhang[root@localhost ~]# id user4id: user4: no such user

groupadd添加新组

  • groupadd 用于创建一个新的工作组,新组的信息将被添加到/etc/group文件中

  • 命令格式:groupadd [-选项] 组名

  • 常用选项:

  • -g GID #指定组的GID

#创建组[root@localhost ~]# groupadd -g 1555 student[root@localhost ~]# cat /etc/group

/etc/group组信息文件

  • 组信息存放在/etc/group文件中
[root@localhost ~]# vim /etc/grouproot:x:0:#每个字段含义解释:组名:组密码占位符:GID:组中附加用户

/etc/gshadow组密码文件

  • 组密码信息存放在/etc/gshadow文件中
[root@localhost ~]# vim /etc/gshadowroot:::#每个字段含义解释:组名:组密码:组内管理员:组中附加用户

groupmod修改组属性

  • groupmod 用于修改指定工作组属性

  • 命令格式:groupmod [-选项] 组名

  • 常用选项:

  • -g GID #修改组的GID

  • -n 新组名 #修改组名

#修改组名[root@localhost ~]# groupmod -n stugrp student#修改组GIDroot@localhost ~]# groupmod -g 1666 stugrp

gpasswd组管理命令

  • gpasswd 是Linux工作组文件/etc/group和/etc/gshadow管理工具,用于将用户添加到组或从组中删除

  • 命令格式:gpasswd [-选项] 用户名 组名

  • 常用选项:

  • -a #将用户添加到工作组

  • -d #将用户从工作组中删除

#创建用户
[root@localhost ~]# useradd hary
[root@localhost ~]# useradd tom
[root@localhost ~]# useradd natasha
[root@localhost ~]# useradd kenji
[root@localhost ~]# useradd jack #讲用户加入到组
[root@localhost ~]# gpasswd -a hary stugrp
正在将用户“hary”加入到“stugrp”组中
[root@localhost ~]# gpasswd -a tom stugrp
正在将用户“tom”加入到“stugrp”组中
[root@localhost ~]# gpasswd -a kenji stugrp
正在将用户“kenji”加入到“stugrp”组中
[root@localhost ~]# gpasswd -a natasha stugrp
正在将用户“natasha”加入到“stugrp”组中
[root@localhost ~]# gpasswd -a jack stugrp
正在将用户“jack”加入到“stugrp”组中
[root@localhost ~]# #查看组文件信息
[root@localhost ~]# cat /etc/group
stugrp:x:1666:hary,tom,kenji,natasha,jack #将用户从组中删除
root@localhost ~]# gpasswd -d tom stugrp
[root@localhost ~]# gpasswd -d hary stugrp
正在将用户“hary”从“stugrp”组中删除
[root@localhost ~]# gpasswd -d jack stugrp
正在将用户“jack”从“stugrp”组中删除
[root@localhost ~]# gpasswd -d kenji stugrp
正在将用户“kenji”从“stugrp”组中删除
[root@localhost ~]# cat /etc/group

groupdel删除组

  • groupdel 用于删除指定工作组
  • 命令格式:groupdel 组名
[root@localhost ~]# groupdel stugrp

RHCSA_DAY07的更多相关文章

随机推荐

  1. Unity VideoPlayer视频模糊

    如果视频出现模糊或者尺寸不对只需要修改Texture的Size就可以 注意一点  Size的值要跟视频尺寸一直

  2. 27、路由 route

    优先于网卡中的配置,但是重启或重启网卡失效,最好加入到开机自启动服务中/etc/rc.local文件中: 27.1.添加网络路由: 目的网络.目的网络掩码,网关.网卡: 网络寻址以路由表中的路由优先: ...

  3. Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记

    目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...

  4. JUnit5的Tag、Filter、Order、Lifecycle

    Tag JUnit5可以使用@Tag注解给测试类和测试方法打tag,这些tag能用来在执行时进行过滤,它跟group有点类似. tag应该遵循以下规则: 不能为null或者为空. 不能包含空格. 不能 ...

  5. pxe+kickstart部署多个版本的Linux操作系统(下)---实践篇

        我们在企业运维环境中,难免会遇到使用多个Linux操作系统的情况,如果每天都需要安装不同版本的Linux系统的话,那么使用Kickstart只能安装一种版本的Linux系统的方法则显得有些捉襟 ...

  6. 前端-Vue基础3(父子组件交互)

    1.子组件往父组件传值 点击子组件的值,子组件自增,父组件的值也跟着自增 通过:this.$emit('change')方法向父组件暴露事件,在子组件中引用,可以调用父组件的方法 点击子组件触发cli ...

  7. if语句 条件测试 shell编程之条件语句

    shell 编程之条件语句一.条件测试  ① test命令 测试  ② 文件测试  ③ 整数值比较  ④ 字符串比较  ⑤ 逻辑测试二.if语句的结构  单分支结构  双分支结构  多分支结构三.ca ...

  8. C语言:逻辑运算符||

    #include <stdio.h> //逻辑运算符||特点:左右两边的表达式先做左边,如果左边为1则右边不用执行,整个结果为1:如果左边为0,再执行右边: main() { int x= ...

  9. C语言:const详解

    希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定.例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小.为了满足这一要求,可以使用const关键字对变量加以限定:const in ...

  10. Album++:分布式事务专辑-基础概念

    (一)基础概念:↓ ↓ ↓ 1.1)什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,"一手交钱,一手交货"就是一个事务的例子,交钱和交货必 须全部成功, 事务才算成功, ...