RHCSA------第五章:账户和安全

本文详细介绍了Linux系统中账户与组的管理,包括账户ID的概念、创建与修改账户、组管理、账户安全措施如sudo和su的使用。内容涵盖用户和组的分类、账户创建与删除、账户密码管理、文件权限以及特殊权限如SUID、SGID和Sticky位。此外,还讲解了如何通过ACL进行更细粒度的权限控制。
摘要由CSDN通过智能技术生成

一、账户及组的概念
Linux系统对帐户与组的管理是通过ID号来实现的,我们在登录系统时,输入用户名和对应的密码,后台将用户名转化为ID号后再判断账户是否存在,并对比密码是否匹配。
Linux中,用户ID号被称为UID,组ID被称为GID。其中UID为0,代表超级管理员,也就是root账户,1-499之间的id号会被系统预留下来,500-1000被称为系统用户,创建的普通id号从500开始算起。
Linux组有基本组和附加组之分,一个用户只可以加入一个基本组,但可以同时加入多个附加组。创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。
用户:
超级用户:root uid为0
系统用户:用来管理和运行服务,系统用户的shell为/sbin/nologin,不让用户登录,uid为201-999
一般用户:1000-60000,添加一般用户时,系统默认为该用户创建主目录和邮箱 (/home/用户名 /var/mail/用户名)
二、创建账户及组
useradd 创建新的linux账户 语法:useradd+选项+用户名称
-c 设置账户描述信息,一般为账户全称
-d 设置账户家目录,默认为/home/用户名(一般不要变)
-e 设置账户的失效日期,格式为年-月-日
-g 设置账户的基本组
-G 设置账户的附加组,多个附加组中间用逗号隔开(创建用户时加入)
-M 不创建账户家目录,一般与-s结合
-s 设置账户的登录shell,默认为bash
-u 指定账户uid
创建xiaolv账户并设置无法登录操作系统
[root@localhost ~]# useradd xiaolv -M -s /sbin/nologin
groupadd 创建组账户 语法:groupadd+选项+组名称
-g 设置组id号
id 显示账户及组信息 语法:id+用户名
su 切换用户身份的命令 语法:su 选项 -c 命令 username

  • 切换到另一身份信息,若不加- 则还是root的环境
    -l 与-相似
    -m -m与-p是一样的,表示目前使用的环境变量设置,而不读取新用户的配置文件
    -c 仅进行一次命令, 用法:su - root -c “命令”
    缺点:普通用户需要知道root密码才可以切换到root,这就使得密码泄露
    使用su切换身份,无法对切换后的身份做精细的控制,拿到超级权限的人可以为所欲为,甚至于改掉root密码
    sudo 切换用户身份的命令(精细分类权限)
    使用超级用户来执行命令,一般指root用户,首先要vim /etc/sudoers中添加用户
    vim /etc/sudoers
    root ALL=(ALL) ALL
    代表用户 代表主机 (代表以什么身份运行) 代表要执行的命令
    redhat ALL=(ALL) /user/sbin/useradd
    xiaohong ALL=(ALL) /user/sbin/userdel
    %用户组 机器=(授权使用哪个角色的权限) ALL

[root@localhost ~]# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz
[root@localhost ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
参数代表含义:
1.用户账户:系统哪个账户可以使用sudo这个命令,默认为root用户
2.登陆者的来源主机名:这个账号由哪台主机连接到本地linux主机,默认root可来自任何一台主机
3.可切换的身份:这个账号可以切换成什么身份来执行后续的命令,默认root可以切换为任何人
4.可执行的命令:最好使用绝对路径,默认root可以切换任何身份且进行任何命令
ALL 是关键字,代表任何身份、主机或者命令
三、修改账户及组
passwd 更改账户认证信息 语法:passwd+选项+账户名称
-l 锁定账户,仅root可使用此权限
–stdin 从文件或管道读取密码(会明文显示密码)
-u 解锁账户
-d 快速清空账户密码,仅root可使用(无密码可登录系统)
[root@localhost ~]# passwd 修改当前账户密码
[root@localhost ~]# passwd tom 修改tom的密码
[root@localhost ~]# echo “123456” | passwd --stdin tom 设置tom的密码(明文显示history)
gpasswd 修改组密码 语法:gpasswd+选项+组名称
-a 添加用户到组
-d 将指定用户移出本组
-M 设置组成员列表
-A 指定组管理员为哪个用户
-r 删除组密码
newgrp 登录一个新组 语法:newgrp+组名
登录tom新组后,创建的目录及文件所属组均为tom,退出为exit
usermod 修改账户信息 语法:usermod+选项+账户名称
-d 修改账户家目录
-e 修改账户失效日期
-g 修改账户所属基本组
-G 修改账户所属附加组
-s 修改账户登录shell
-u 修改账户uid
[root@localhost ~]# usermod -d /home/tomcat tom 修改tom的家目录,目录必须存在
[root@localhost ~]# usermod -s /bin/bash zhangsan 修改zhangsan登录shell为bash
[root@localhost ~]# usermod -u 1004 tom 修改tom的uid为1004
groupmod 修改组信息 语法:groupmod -n 新组名 -g gid 原组名
-n 指定新组名
-g 修改gid信息
四、删除账户及组
userdel 删除账户及相关文件 语法:userdel+选项+账户名称
-r 删除账户及相关文件–家目录
groupdel 删除组账户 语法:groupdel+组名
五、账户与组文件解析
1.账户信息文件
[root@localhost ~]# cat /etc/passwd
[root@localhost ~]# vim /etc/passwd
root❌0:0:root:/root:/bin/bash
冒号为分隔符
第一列 root 为账户名称
第二列 x 为密码占位符,表示该账户需要密码才可以登录,为空则无需密码即可登录
第三列 0 为账户uid
第四列 0 为gid
第五列 root 为账户附加基本信息,一般存储账户全名称、联系方式等信息
第六列 /root 为账户家目录设置
第七列 /bin/bash 为账户登录shell,/sbin/nologin表示账户无法登录系统
2.账户密码文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值