CentOS 用户管理(3)

用户组管理及用户提权

用户组管理

## 相关文件
/etc/group
[root@localhost ~]# cat /etc/group
wsh:x:1100:
# 1.wsh(组名)
# 2.x(组密码站位符)
# 3.1100(GID)
# 4.空白(显示该组的附加成员)
/etc/gshadow
[root@localhost ~]# cat /etc/gshadow
wsh:!::
# 1.wsh(组名)
# 2.!(组密码;空和!是没有密码)
# 3.空(组管理员)
# 4.空(显示该组的附加成员)
## 相关命令
# 增
groupadd [选项] 组名
[root@localhost ~]# groupadd test
[root@localhost ~]# id test
id: test: no such user
[root@localhost ~]# tail -1 /etc/group
test:x:1304:
## 选项
-g:指定组的gid
[root@localhost ~]# groupadd test1 -g 10010
[root@localhost ~]# tail -1 /etc/group
test1:x:10010:
-r:指定gid范围201-999之间的系统组
[root@localhost ~]# groupadd test2 -r
[root@localhost ~]# tail -1 /etc/group
test2:x:996:
# 删
[root@localhost ~]# groupdel test2
[root@localhost ~]# tail -1 /etc/group
test1:x:10010:
# 改
groupmod
##选项
-g:修改组的gid
[root@localhost ~]# groupmod test1 -g 10011
[root@localhost ~]# tail -1 /etc/group
test1:x:10011:
-n:修改组名字
[root@localhost ~]# groupmod test1 -n test2
[root@localhost ~]# tail -1 /etc/group
test2:x:10011:
# 查
[root@localhost ~]# cat /etc/group

用户身份切换

Linux系统中,有时候普通用户有些事情是没办法普通用户免费体检区软件操作,除非是root管理员用户才能做到。这时就需要临时切换到
root管理员身份来做事了。那么在学习如何切换用户之前,我们先虚拟化学实验室来了解下用户工作环境

如何在普通用户的情况下,完成日常工作?

  • su 切换用户,使用普通用户登录,然后使用su命令切换到root。
    • 优点:简单,方便
    • 缺点:需要知道root密码,不安全,切换到root没有日志审计功加载中的图片
  • sudo 提权,当需要使用root权限时,加载失败进行提权,而无需切换至root用户。
    • 优点:安全,方便
    • 缺点:复杂

切换用户,使用命令su [-] username

su命令后面跟 - 代表登入式shell 如果云计算概念股su命令后不加-代表非登录式shel巴沙鱼l ,他们之间的区别在于加载的环境变量不一样巴氏腺囊肿

su命令前戏

shell的种类

  • 交互式shell八省联考成绩查询
    • 等待用户输入执行的命令(终端操作,需要不断提示)
  • 非交互式shell
    • 执行shell脚本,脚本执行结束后shell自动退出
  • 登录shell
    • 需要输入用户名和密码,才可以登录
  • 非登陆shell
    • 不需要输入用户名和密码,就可以登录

系统的环境变量文件加载了恋爱游戏

## 局部环境边
~/.bashrc
~/.bash_profile
## 全局环境变量
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
profile类文件,设定环境变量,登录前运行的脚本和命令
bashrc类文件,设定本地变量,自定义命令
## 加载顺序
[root@localhost ~]# vim ~/.bashrc 
[root@localhost ~]# vim ~/.bash_profile 
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# vim /etc/profile.d/wsh.sh
[root@localhost ~]# vim /etc/bashrc 
# 断开后再连接
加载了/etc/profile
加载了/etc/profile.d/wsh.sh
加载了~/.bash_profiles
加载了~./bashrc
加载了/etc/bashrc

用户身份虚拟化的主要特征提权

sudo命令提权

什么是sudo

sudo就是普通用户可以提云计算大数据权,执行root用户可以执行的命令

为什么要用到普通用户sudo

如果在公司中,入职后,领导给运维的用户时普通用户,但八省联考成绩查询入口是有些命令只能root执行

sudo如何使用

# 1.系统的超级管理员(root)需要做sudo的配置(发一个兵符给指定的普通用户)
# 2.普通用户只需要在,执行的命令之前,加上sudo即可

sudo的配置(root赋予普通用户权限的过程)

# 没有sudo命令,则需要安装
[root@localhost ~]# yum install -y sudo
# sudo的配置文件:
[root@localhost ~]# vim /etc/sudoers
# 用户名 所有主机=(所有角色) 所有命令的执行权限
   root    ALL=(ALL)          ALL
   qwe     ALL=(ALL)       /bin/ls
#                       普通用户也不需要输入自己的密码了
qwe     ALL=(ALL)       NOPASSWD:ls
## 普通用户以root身份执行命令
[qwe@localhost ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[qwe@localhost ~]$ sudo ls /root/
2.txt               ceshi.txt  test.txt  work
blog.driverzeng.com_access.log  family     wc        wsh
cat             qwe.txt    web.log
免密切换到root用户,就算不免密,也是输入qwe用户的密码,切换到root用户
[qwe@localhost ~]$ sudo su -
## 推荐修改sudo的方式
[root@localhost ~]# visudo
-c:检查sudoers文件的语法
## sudoers其他别名配置,!为不可以执行
Host_Alias     FILESERVERS = fs1, fs2
Cmnd_Alias QWECMD = /bin/ls,/bin/rm,!/bin/cp,!/bin/mv
Cmnd_Alias:命令别名
Host_Alias:主机别名
User_Alias:角色别名
## 赋予组权限
%wheel  ALL=(ALL)       ALL
%wsh    ALL=(ALL)       ALL
usermod 用户名 -G 提权组
# 1.会修改visudo,添加用户提权
# 2.给用户免密执行sudo的权限
# 3.自定义用户的可执行命令,和不可执行命令
# 4.给组分配提权的权限
# 5.提权不用修改visudo,只需要加入wheel组,即可
注意:除非企业中有要求,哪些命令需要用,哪些不能使用