day5.2

day5.2

用户组管理

# 相关文件
/etc/group
[root@localhost ~]# cat /etc/group

root:x:o:0:
1.组名字
2.组密码占位符
3.组管理员
4.显示改组的附加成员
# 相关命令
增
groupadd  [选项] 组名
# 选项
-g:指定组的gid
-r:指定gid范围201-999之间的系统组
# 举例
1.创建组
[root@28technicians ~]# groupadd wc10
[root@28technicians ~]# tail -1 /etc/group
wc10:x:1013:

2.指定gid
[root@28technicians ~]# groupadd wc3 -g 10086
[root@28technicians ~]# tail -1 /etc/group
wc3:x:10086:

3.指定uid范围为201-999之间
[root@28technicians ~]# groupadd wc4 -r
[root@28technicians ~]# tail -1 /etc/group
wc4:x:996:
# 删除组
groupdel
# 举例
1.[root@28technicians ~]# groupdel wc3
# 修改组
groupmod

# 选项
-g:修改组的gid
-n:修改组的名字
# 举例
1.修改组的gid
[root@28technicians ~]# groupmod -g 10085 wc10
[root@28technicians ~]# tail -1 /etc/group
wc10:x:10085:
2.修改组的名字
[root@28technicians ~]# groupmod wc10 -n cw10
[root@28technicians ~]# tail -1 /etc/group
cw10:x:10085:
# 查看组信息
[root@28technicians ~]# cat /etc/group

用户身份切换

# 什么是用户身份切换
	Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份来做事了。那么在学习如何切换用户之前,我们先来了解下用户工作环境。
如何在普通用户的情况下,完成日常工作?
	1.su 切换用户,使用普通用户登录,然后使用su命令切换到root。
	优点:简单,方便
	缺点:需要知道root密码,不安全,切换到root没有日志审计功能
	2.sudo 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
	优点:安全,方便
	缺点:复杂

su命令前戏概要

# shell的种类
1.交互式的shell
2.非交互式的shell
3.登录式的shell
	(需要输入用户名和密码,才能登陆)
4.非登录式的shell
	(不需要输入密码;就能登陆)
# 系统环境变量文件
局部环境变量文件
1.~/.bashrc
2.~/.bash_profile

全局环境变量文件
3./etc/profile
4./etc/profile.d/*.sh
5./etc/bashrc
 
# shell配置文件顺序
1./etc/profile
2./etc/profile.d/*sh
3.~/.bash_profile
4.~/.bashrc
5./etc/bashrc

# 非登录式shell执行文件
不会加载~/.bash_profile和/etcprofile
# 登录式shell
会全部加载以上配置文件,在实际应用中不易出错

su命令

# 切换用户命令
su [-] username(用户名)
'''su命令后面跟-代表进入登录式shell,如果命令不加-代表非登录式shell,它们的区别在于加载的环境变量不一样
''''
普通用户su-代表直接切换至root用户身份,但需要输入root用户密码。
# 选项
-c:不切换用户,用该用户执行

用户身份提权

# 什么是sudo
sudo就是普通用户可以提权,执行root用户的命令
# sudo的使用
1.系统的超级管理员(root)需要做sudo的配置(发放权限给指定普通用户)
2.普通用户只需要在,执行命令前加上sudo即可

sudo的配置

sudo的配置文件:
[root@28technicians ~]# vim /etc/sudoers 或 visudo
第100行
用户名  所有主机=(所有角色)	所命令的执行权限
root    	ALL=(ALL)   		 NOPASSWD:ALL(普通用户不用输入自己的密码)                                                                      
qq      	ALL=(ALL)  			 /bin/cp(只给使用cp命令的权限)

# 选项
-c:检查sudoers文件语法
-G:提劝组

# sudoers其他别名设置
1.命令别名
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, 
2.主机别名
User_Alias ADMINS = jsmith, mikem
3.角色别名
Host_Alias     MAILSERVERS = smtp, smtp2

# 举例
1.切换用户
[root@28technicians ~]# su - qq
Last login: Sat Apr  9 08:38:49 CST 2022 on pts/0
2.在root下创建cjk目录
[qq@28technicians ~]$ sudo mkdir /root/cjk
[qq@28technicians ~]$ sudo ls -l /root/
total 20
drwxr-xr-x. 2 root root    6 Apr  9 09:06 cjk
3.设置别名,限制权限
1)设置命令别名
 Cmnd_Alias WCWC = /bin/rm;/bin/cp
 2)修改权限
 qq ALL=(ALL) WCWC
 # 报错 没有权限
[qq@28technicians ~]$ sudo rm -rf /root/cjk
rm: cannot remove `/root/cjk': Permission denied

[qq@28technicians ~]$ sudo cp -a /root/cjk /tmp
[qq@28technicians ~]$ sudo ls -l /tmp/
drwxr-xr-x. 2 root root  6 Apr  9 09:06 cjk

4.配置组
[qq@28technicians ~]# groupadd wc
[qq@28technicians ~]# useradd  qq -G wc
%wc ALL=(ALL) NOPASSWD:ALL
[qq@28technicians ~]$ sudo mkdir /root/cjk1
[qq@28technicians ~]$ sudo ls -l /root/
total 20
drwxr-xr-x. 2 root root    6 Apr  9 09:06 cjk1

[]

posted @   Gabydawei  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示