用户身份切换及提权
Posted mdddm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户身份切换及提权相关的知识,希望对你有一定的参考价值。
用户身份切换
如何在普通用户的情况下,完成日常工作?
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
[root@localhost ~]# ll ~/.bashrc
-rw-r--r-- 1 root root 176 Mar 25 10:55 /root/.bashrc
[root@localhost ~]# ll ~/.bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 /root/.bash_profile
## 全局环境变量:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
[root@localhost ~]# ll /etc/profile
-rw-r--r-- 1 root root 1819 Apr 11 2018 /etc/profile
[root@localhost ~]# ll /etc/profile.d/*.sh
[root@localhost ~]# 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 文件中设置的组里
[root@localhost ~]# 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
以上是关于用户身份切换及提权的主要内容,如果未能解决你的问题,请参考以下文章