别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述用户组管理及用户权限相关的知识,希望能为你提供帮助。
用户组管理
## 相关文件
/etc/group
[root@localhost < sub> ]# cat /etc/group
root:x:0:
# 1.组名字
# 2.组密码占位符
# 3.GID
# 4.显示该组的附加成员
/etc/gshadowroot:::luowei5
# 1.组名字
# 2.组密码(空和!是没有密码)
# 3.组管理员
# 4.显示该组的附加成
## 相关命令
# 增
groupadd [选项] 组名
## 选项
-g:指定组的gid
-r:指定gid范围201-999之间的系统组
## 举例
[root@localhost < /sub> ]# groupadd lll
[root@localhost < sub> ]# id lll
id: lll: no such user
[root@localhost < /sub> ]# tail -1 /etc/passwd
klm1:x:167:1001::/root/klm1:/bin/bash
[root@localhost < sub> ]# tail -1 /etc/group
lll:x:1009:
# -g
[root@localhost < /sub> ]# groupadd lll2 -g 2746
[root@localhost < sub> ]# tail -1 /etc/group
lll2:x:2746:
# -r
[root@localhost < /sub> ]# groupadd lll3 -r
[root@localhost < sub> ]# tail -1 /etc/group
lll3:x:996:
# 删
[root@localhost < /sub> ]# tail -5 /etc/group
hhh:x:1001:
aaa:x:1008:
lll:x:1009:
lll2:x:2746:
lll3:x:996:
[root@localhost < sub> ]# tail -3 /etc/group
lll:x:1009:
lll2:x:2746:
lll3:x:996:
[root@localhost < /sub> ]# groupdel lll3
[root@localhost < sub> ]# tail -3 /etc/group
aaa:x:1008:
lll:x:1009:
lll2:x:2746:
# 改
groupadd
-g:修改组的gid
-n:修改组名字
[root@localhost < /sub> ]# groupmod hhh -g 729
[root@localhost < sub> ]# tail -1 /etc/group
hhh:x:729:
[root@localhost < /sub> ]# groupmod hhh -n haha
[root@localhost < sub> ]# tail -1 /etc/group
haha:x:729:
# 查
[root@localhost < /sub> ]# cat /etc/group
用户身份切换Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份来做事了。那么在学习如何切换用户之前,我们先来了解下用户工作环境。
如何在普通用户的情况下,完成日常工作?
- su 切换用户,使用普通用户登录,然后使用su命令切换到root。
缺点:需要知道root密码,不安全,切换到root没有日志审计功能
- sudo 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
缺点:复杂
su命令前戏
shell的种类
- 交互式shell
- 非交互式shell
- 登录shell
- 需要输入用户名和密码,才可以登录
- 非登录shell
- 不需要输入用户名和密码,就可以登录
## 局部环境变量
< sub> /.bashrc
< /sub> /.bash_profile
## 全局环境变量
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
## 加载顺序
[Thu Apr 07- zls root@localhost < sub> ]$ vim < /sub> /.bashrc
[Thu Apr 07- zls root@localhost < sub> ]$ vim < /sub> /.bash_profile
[Thu Apr 07- zls root@localhost < sub> ]$ vim /etc/profile
[Thu Apr 07- zls root@localhost < /sub> ]$ vim /etc/profile.d/zls.sh
[Thu Apr 07- zls root@localhost < sub> ]$ vim /etc/bash
/etc/profile
/etc/profile.d/*.sh
< /sub> /.bash_profile
~/.bashrc
/etc/bashr
用户身份提权sudo命令提权
什么是sudo
sudo 普通用户可以提权,执行root用户可以执行的命令
为什么要用到sudo
在公司入职后,领导给运维的用户是普通用户,但有些命令只能用root用户来执行
【用户组管理及用户权限】sudo如何使用
# 1.系统的超级管理员(root用户)需要编辑sudo的配置(给指定的普通用户权限)
# 2.普通用户只需要在,执行命令之前加上sudo即可
sudo的配置(给权限的过程)
# 没有sudo命令,需要安装
[root@localhost < sub> ]# yum install -y sudo
## sudo的配置文件:
[root@localhost < /sub> ]# vim /etc/sudoe
#用户名所有主机=(所有角色)所有命令的执行权限
rootALL=(ALL)ALL
chuyiruiALL=(ALL)ALL
#普通用户也不需要输入自己的密码了
chuyiruiALL=(ALL)NOPASSWD:ALL
## 推荐修改sudo的方式
[root@localhost < sub> ]# visudo
-c:检查sudoers文件的语法
## 免密切换到root用户,就算不免密,也是输入chuyirui用户的密码,切换到root用户
[chuyirui@localhost < /sub> ]$ sudo su -
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for chuyirui:
Last login: Fri Apr8 11:09:10 CST 2022 from 10.0.0.1 on pts/0
## 报错
[root@localhost < sub> ]# sudo ll
sudo: ll: command not found
原因:ll是别名,不是系统命令,sudo不走别名,只认识系统命令
##普通用户以root身份执行命令
[chuyirui@localhost < /sub> ]$ mkdir /root/klm
mkdir: cannot create directory ‘/root/klm’: Permission denied
[chuyirui@localhost < sub> ]$ ls -l /root/
ls: cannot open directory /root/: Permission denied
[chuyirui@localhost < /sub> ]$ sudo mkdir /root/klm
[chuyirui@localhost < sub> ]$ sudo ls -l /root/
drwxr-xr-x. 2 root root6 Apr8 16:30 klm
## sudoers其他别名配置
Host_AliasFILESERVERS = chuyirui
Host_AliasMAILSERVERS = smtp, smtp2
Cmnd_Alias ZLSCMD = /bin/cp,/bin/mv
Cmnd_Alias ZLSUNCMD =!/bin/rm,!/bin
Cmnd_Alias:命令别名
Host_Alias:主机别名
User_Alias:角色别
## 给组权限
%wheelALL=(ALL)ALL
%hahaALL=(ALL)NOPASSWD:ALL
# usermod用户名 -G 提权组
[root@localhost < /sub> ]# usermod klm2 -G haha
[root@localhost ~]# id klm2
uid=1001(klm2) gid=1002(klm2) groups=1002(klm2),729(haha)
# 1.会修改visudo,添加用户提权
# 2.给用户免密执行sudo的权限
# 3.自定义用户的可执行命令,和不可执行命令
# 4.给组分配提权的权限
# 5.提权不用修改visudo,只需要加入wheel组,即可
注意:除非企业中有要求,哪些命令需要用,哪些不能使用
推荐阅读
- DolphinDB 函数化编程案例教程
- Samba的使用教程
- 开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )
- 如何计算磁盘IOPS
- Linux 内核 内存管理RCU 机制 ⑤ ( RCU 层次架构概念 | RCU 层次架构源码解析 | RCU 层次架构每层最多叶子数 | RCU 层次架构每个叶子 CPU 数量 )
- C语言-004
- Go语言 unsafe.Pointer 浅析
- docker-compose 安装 jenkins 指定版本
- Spark入门简介