学习Linux运维的个人笔记:用户创建的流程及身份切换(十二)

一、用户的创建

  • 在我们创建一个用户时,如果创建时指定了参数,以指定参数为准,如果没有指定参数,那么就以系统中默认的两个配置文件(/etc/login.defs /etc/default/useradd)作为参照。
    在这里插入图片描述

二、组的应用

  • 组的概念:
    组就是一个逻辑概念。逻辑上将多个用户捆绑成一个组,当我们操作组的时候就相当于在操作组下的所有用户。
  • 组的分类:
    基本组:创建时指定组,就叫基本组
    私有组:创建时没有指定组,默认创建与用户同名的组
    附加组:对于用户来说,可以有N多个。
  • 组的信息存放位置:
    1. /etc/group
grep '1newg' /etc/group
 1newg   :   x   :  6666 	:
#组名称      密码	 	组GID	  显示附加组
2. /etc/gshadow
grep '1newg' /etc/gshadow
 1newg	:	!	:			:
#组名称		密码	  组管理员		显示附加组成员
  • 新增组
    groupadd+选项+组名=创建组(不加选项则默认基本组)
    选项:
    -g :指定GID
    -r :创建系统组
groupadd -g 6666 newg		#创建gid为6666组名为newg的组
groupadd -r oldg			#创建名为oldg的系统组
  • 修改组信息
    groupmod+选项+组名=修改组信息
    选项:
    -g :修改GID
    -n :修改组名称
groupmod -n 1newg newg		#改组newg名称为1newg
  • 删除组
    groupdel+组名=删除组
    默认删除私有组,如果要删除基本组,需要先删除基本组中的用户才可以删除该组。但是附加进组的成员无需考虑。

三、用户的切换与提权

  • Linux Shell主要分为如下几类
    交互式shell,等待用户输入执行的命令(终端操作,需要不断提示)
    非交互式shell,执行shell脚本, 脚本执行结束后shell自动退出
    登陆shell,需要输入用户名和密码才能进入Shell,日常接触的最多的一种
    非登陆shell,不需要输入用户和密码就能进入Shell,比如运行bash会开启一个新的会话窗口
  • bash shell配置文件介绍(文件主要保存用户的工作环境)
    个人配置文件:~/.bash_profile ~/.bashrc 。全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
    profile类文件, 设定环境变量, 登陆前运行的脚本和命令。bashrc 类文件, 设定本地变量, 定义命令别名
    PS: 如果全局配置和个人配置产生冲突,以个人配置为准。
  • 登陆系统后,环境变量配置文件的应用顺序是
#登录式shell配置文件执行顺序: 
/etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc
#非登陆式shell配置文件执行顺序: 
~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh
  • 用户切换
    su - username属于登陆式shell,su username属于非登陆式shell,区别在于加载的环境变量不一样。
    普通用户su -可以直接切换至root用户,但需要输入root用户的密码。
    超级管理员root用户使用su - username切换普通用户不需要输入任何密码。
  • 快速提权
    su命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全。为了改进这个问题,从而产生了sudo这个命令。
visudo
Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
#输入visudo可以里面有一行是此代码
#这代表名称为wheel的组可以有所有权限,所以快速提权就是将用户的附加组添加wheel组即可
usermod admin -G wheel		#添加wheel组为用户附加组
su - admin					#切换用户
$ rm -rf /opt/				#删除/opt/,删除失败
rm: cannot remove ‘/opt/’: Permission denied
sudo rm -rf /opt   			#使用sudo权限,需要输入普通用户的密码
  • 设置权限
    方法一:
groupadd OPS																	#创建真实的组
groupadd DBS			
useradd xu																		#创建用户
useradd li
usermod xu -G OPS																#加入附加组
usermod li -G DBS
echo '1' |passwd --stdin xu														#赋予密码
	Changing password for user xu.
passwd: all authentication tokens updated successfully.
echo '1' |passwd --stdin li
	Changing password for user li.
passwd: all authentication tokens updated successfully.
visudo																			#打开visudo粘贴

    Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
    Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
    Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
    Cmnd_Alias STORAGE = /bin/mount, /bin/umount
    Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
    Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

    %OPS ALL=(ALL) SOFTWARE														#给组赋予权限
    %DBA ALL=(ALL) SOFTWARE,PROCESSES
visudo -c																		#检查配置是否有错
	Warning: /etc/sudoers:128 unused Cmnd_Alias "DELEGATING"
	Warning: /etc/sudoers:124 unused Cmnd_Alias "NETWORKING"
	Warning: /etc/sudoers:126 unused Cmnd_Alias "SERVICES"
	Warning: /etc/sudoers:127 unused Cmnd_Alias "STORAGE"
	/etc/sudoers: parsed OK
su - xu																			#切换用户并检查
sudo -l
	User xu may run the following commands on oldboy:
    	(ALL) /bin/rpm, /usr/bin/yum

方法二:

useradd zhang												#同样创建用户
useradd yang
visudo														#编辑sudo
	User_Alias OPS = zhang									#使用sudo定义分组,这个系统group没什么关系
	User_Alias DBA = yang
	Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
	Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
	Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
	Cmnd_Alias STORAGE = /bin/mount, /bin/umount
	Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
	Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

    %OPS ALL=(ALL) SOFTWARE									#给组赋予权限
    %DBA ALL=(ALL) SOFTWARE,PROCESSES

	#接下来登陆对应的用户使用 sudo -l 验证权限
发布了34 篇原创文章 · 获赞 10 · 访问量 2329

猜你喜欢

转载自blog.csdn.net/weixin_44903608/article/details/104842542