切换用户su、用户提权sudo命令详解

su切换用户

su 使用普通用户登录,然后执行su命令切换到root用户
su username #非登录式shell(下文会讲
su -username #登录式shell
passwd:

两者区别就是加载的配置文件不一样如下:
用户的工作环境相关工作
#个人配置文件
/root/.bash_profile
/root/.bashrc
#全局配置文件
/etc/bashrc
/etc/profile
/etc/profile.d/*.sh

profile #环境变量配置文件 系统登录前执行的一些命令或者脚本
bashrc #本地变量别名

执行顺序
**登录式shell执行顺序
/etc/profile -----> /etc/profile.d/.sh----> .bash_profile ---->.bashrc-----> /etc/bashrc
非登录式shell执行顺序
.bashrc----> /etc/bashrc ----->/etc/profile.d/
.sh

su - username 切换之后,工作环境也已经改变了
root用户切换到普通用户是不需要密码的,而普通用户切换到root用户是需要密码的

用户提权
sudo提权:不切换用户,但可以获取root用户的部分权限
在管理员下修改配置文件/etc/sudoers来分配权限
vim /etc/sudoers

格式:
Tom    ALL   =       (ALL)       All
用户名  所有机器      主机名或ip      所有指令

修改完记得使用visudo -c 检测文件语法格式
visudo -c #检查语法
指令编写格式

#必须写全路径:which查看命令全路径

##只支持vim命令提权
xianchen ALL=(ALL)  /usr/bin/vim

##支持所有的命令提权
tom ALL=(ALL)  ALL

##不支持某个命令提权
tom ALL=(ALL) ALL, !/usr/bin/vim

## 不支持某个命令的部分功能
xiaochen ALL=(ALL)   ALL, !/usr/bin/vim /root/123.txt

sudo特点:在当前用户下进行操作,不需要切换到root用户下,在执行操作命令的格式为:sudo 命令,输入的是普通用户自己的密码

了解内容

shell的分类及执行的过程 
交互式shell		#终端操作  输入一条指令,需要等待系统的处理及返回结果 
非交互式shell		#脚本的执行方式就是  用户执行完指令 不需要跟系统进行交互 
登录式shell		#通过用户名和密码的方式进行登录的
非登录式shell		#不是通过用户名和密码的方式进行登录的    执行一个bash,就是一个非登录式shell
在环境变量中添加文件:
命令行输入PATH = /soft $PATH      (暂时保存,关机无效)
vim  /etc/bashrc        #在/etc/bashrc  中添加文件
source /etc/bashrc      #重启etc下的bashrc文件
(针对所有用户,以及登陆与非登陆shell设置统一的配置,未来shell编程时会用到)

猜你喜欢

转载自blog.csdn.net/givenchy_yzl/article/details/114833423