用户组管理3,4
Posted wx622ea1d31aab0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户组管理3,4相关的知识,希望对你有一定的参考价值。
[TOC]
用户组管理及用户提权day16
用户组管理
## 相关文件
/etc/group
0 ? 11:07:48 root@miaosen,10.0.0.100:<sub> # head -1 /etc/group
root:x:0:qy1,sj2
# 1.组名字
# 2.组密码占位符
# 3.GID
# 4.显示该组的附加成员
/etc/gshadow
0 ✓ 11:08:44 root@miaosen,10.0.0.100:</sub> # head -1 /etc/gshadow
root:::qy1,sj2
# 1.组名字
# 2.组密码(空和!是没有密码)
# 3.组管理员
# 4.显示该组的附加成员
## 相关命令
# 增
groupadd [选项] 组名
## 选项
-g:指定组的gid
-r:指定gid范围201-999之间的系统组 #没什么用 用-g就行
## 举例
0 ✓ 11:13:01 root@miaosen,10.0.0.100:<sub> # groupadd sj100
0 ✓ 11:19:21 root@miaosen,10.0.0.100:</sub> # id sj100 # 这是查看用户,因为sj100是个组,所以报错
id: sj100: no such user
1 ✗ 11:19:33 root@miaosen,10.0.0.100:<sub> # tail -1 /etc/passwd #这是查看用户配置文件
sj6:x:998:996::/root:/bin/bash
^[[A^H 0 ✓ 11:20:28 root@miaosen,10.0.0.100:</sub> # tail -1 /etc/group #这才是正确的,查看用户组的配置文件
sj100:x:10087:
# -g:指定组的gid 举例
0 ✓ 11:26:30 root@miaosen,10.0.0.100:<sub> # tail -1 /etc/group
sj200:x:777:
# -r:指定gid范围201-999之间的系统组
0 ✓ 11:27:51 root@miaosen,10.0.0.100:</sub> # groupadd sj300 -r
0 ✓ 11:29:27 root@miaosen,10.0.0.100:<sub> # tail -1 /etc/group
sj300:x:776:
#删
groupdel 组名
0 ✓ 11:29:35 root@miaosen,10.0.0.100:</sub> # groupdel sj300
#改
groupmod
-g:修改组的gid
-n:修改组的名字
# -g:修改组的gid 举例
0 ✓ 11:31:03 root@miaosen,10.0.0.100:<sub> # groupmod sj100 -g 7777
0 ✓ 11:32:45 root@miaosen,10.0.0.100:</sub> # tail -3 /etc/group
test1:x:10086:
sj100:x:7777:
sj200:x:777:
# -n:修改组的名字 栗子
✗ 11:35:11 root@miaosen,10.0.0.100:<sub> # groupmod sj100 -n xsj
0 ✓ 11:35:17 root@miaosen,10.0.0.100:</sub> # tail -2 /etc/group
sj200:x:777:
xsj:x:7777:
# 查
cat /etc/group # 查看用户组的配置文件
用户身份切换
Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份来做事了。那么在学习如何切换用户之前,我们先来了解下用户工作环境。
如何在普通用户的情况下,完成日常工作?
1)su 切换用户,使用普通用户登录,然后使用su命令切换到root。
优点:简单,方便
缺点:需要知道root密码,不安全,切换到root没有日志审计功能
2)sudo 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
优点:安全,方便
缺点:复杂
su命令前戏
shell的种类
- 交互式shell
- 非交互式shell
- 登录shell
- 需要输入用户名和密码,才可以登录
- 非登录shell
- 不需要输入用户名和密码,就可以登录
系统的环境变量文件
## 局部环境变量
<sub>/.bashrc
</sub>/.bash_profile
## 全局环境变量
/etc/bashrc
/etc/profile.d/*.sh
/etc/profile
## 加载顺序
加载了/etc/profile
加载了/etc/profile.d/sj.sh文件
加载了<sub>./.bash_profile文件
加载了</sub>./.bashrc
加载了/etc/bashrc
day17用户身份提权
sudo提权
什么是sudo
sudo就是普通用户可以提权,执行root用户可以执行的命令
为什么要用到sudo
如果在公司中,入职后,领导给运维的用户时普通用户,但是有些命令只能root执行
sudo如何使用
# 1.系统的超级管理员(root)需要做sudo的配置(发一个兵符给指定的普通用户)
# 2.普通用户只需要在,执行的命令之前,加上sudo即可
sudo的配置(root发兵符的过程)
# 没有sudo命令,则需要安装
0 ✓ 12:14:10 root@miaosen,10.0.0.100:<sub> # yum install -y sudo
# sudo的配置文件:
0 ✓ 12:25:53 root@miaosen,10.0.0.100:</sub> # vim /etc/sudoers
# 用户名 所有主机=(所有角色) 所有命令的执行权限
root ALL=(ALL) ALL
sj ALL=(ALL) /bin/cp
# 普通用户也不需要输入自己的密码了
sj ALL=(ALL) NOPASSWD:ALL
# 推荐修改sudu的方式
0 ✓ 12:28:02 root@miaosen,10.0.0.100:<sub> # visudo
-c:检查sudoers文件的语法
# 栗子
0 ✓ 12:31:48 root@miaosen,10.0.0.100:</sub> # visudo -c
/etc/sudoers: parsed OK
## 免密切换到root用户,就算不免密,也是输入zls用户的密码,切换到root用户
[sj@miaosen <sub>]$ sudo su -
# 报错
[sj@miaosen </sub>]$ sudo ll
sudo: ll: command not found # 原因:ll是别名,不是系统命令,sudo不走别名,只认识系统命令
## 普通用户以root身份执行命令
[sj@miaosen <sub>]$ mkdir /root/sj
mkdir: cannot create directory ‘/root/sj’: Permission denied #权限被拒绝
[sj@miaosen </sub>]$ ls -l /root
ls: cannot open directory /root: Permission denied #权限被拒绝
[sj@miaosen <sub>]$ sudo ls -l /root/ # 加上sudo就可以执行命令x=
total 60
drwxr-xr-x 2 root root 6 Apr 5 08:33 1
drwxr-xr-x 2 root root 6 Apr 5 08:33 1999
-rw-r--r-- 1 root root 56479 Mar 24 20:12 blog.driverzeng.com_access.log
-rw-r--r-- 1 root root 29 Apr 5 07:48 test.txt
[sj@miaosen </sub>]$ sudo mkdir /root/sj
[sj@miaosen ~]$ sudo ls -l /root/sj # 同上
total 0
## sudoers其他别名配置
Cmnd_Alias:命令别名
Host_Alias:主机别名
User_Alias:角色别名
## 给组发兵符
%test666 ALL=(ALL) NOPASSWD:ALL
usermod 用户名 -G 提权组
# 必须懂得知识点
#1.会修改visudo,添加用户提权
#2.给用户免密执行sudo的权限
#3.自定义用户的可执行命令,和不可执行的命令
#4.给组分配提权的权限
#5.提权不用修改visudo,只需要加入wheel组,即可
注意:除非企业中有要求,哪些命令需要用,哪些不能使用
以上是关于用户组管理3,4的主要内容,如果未能解决你的问题,请参考以下文章