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编程时会用到)