用户身份切换及提权

用户身份切换

如何在普通用户的情况下,完成日常工作?
1)su 切换用户,使用普通用户登录,然后使用su命令切换到root。
优点:简单,方便
缺点:需要知道root密码,不安全,切换到root没有日志审计功能

2)sudo 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
优点:安全,方便
缺点:复杂

shell的分类

  • 交互式shell

等待用户输入执行的命令(终端操作,需要不断提示)

  • 非交互式shell

执行shell脚本, 脚本执行结束后shell自动退出,和一部分命令

  • 登录式shell

需要输入用户名和密码。才能进入shell su - root

  • 非登录式shell

不需要输入用户和密码就能进入,比如执行sh, bash, su username

# 环境变量文件
## 个人环境变量: 
~/.bash_profile 
~/.bashrc


[ ~]# ll ~/.bashrc
-rw-r--r-- 1 root root 176 Mar 25 10:55 /root/.bashrc

[ ~]# ll ~/.bash_profile
-rw-r--r--. 1 root root 176 Dec 29  2013 /root/.bash_profile

## 全局环境变量:
/etc/profile
/etc/profile.d/*.sh 
/etc/bashrc

[ ~]# ll /etc/profile
-rw-r--r-- 1 root root 1819 Apr 11  2018 /etc/profile

[ ~]# ll /etc/profile.d/*.sh

[ ~]# ll /etc/bashrc
-rw-r--r-- 1 root root 2853 Apr 11  2018 /etc/bashrc


#登录式shell配置文件执行顺序
/etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc

#非登陆式shell配置文件执行顺序
~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh



# 切换用户:
su - root
-c:不切换用户的情况下,直接执行命令

用户身份提权

## sudo 提权
usermod zls -G wheel

1.将用户加入到 sudoers 文件中
2.将用户加入到 sudoers 文件中设置的组里

[ ~]# visudo
1.用户名      2.主机名   3.角色名       4.命令名
root            ALL=    (ALL)           ALL

visudo = vim /etc/sudoers
username ALL=(ALL) ALL
username ALL=(ALL) ALL,!/bin/su,!/bin/vim,!/bin/vi,!/bin/rm,/bin/ifconfig,/bin/netstat

相关推荐