目录
su命令用来切换用户,substitute英文含义“代替”的意思
①su:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变
②su - 或者su -l 或者 su --login:切换为root用户,同时变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量
③su username :切换为其他用户,目录不改变,SHELL,USER,PATH,HOME,LOGNAME变量改变
④su -, -l, --login username:切换到其他用户,变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量
sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户
sudoers文件存放在etc目录下,我们可以直接输入命令visudo编辑sudoers文件,使用visudo命令编辑文件,会验证我们添加的信息是否有语法错误
sudo -l命令: 查看当前用户可以用sudo执行的命令都有哪些
1、su命令
-
su命令用来切换用户,substitute英文含义“代替”的意思
常用格式有:
①su:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变
②su - 或者su -l 或者 su --login:切换为root用户,同时变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量
注:exit命令可退出root用户
③su username :切换为其他用户,目录不改变,SHELL,USER,PATH,HOME,LOGNAME变量改变
④su -, -l, --login username:切换到其他用户,变更工作目录,以及SHELL,USER,PATH,HOME,LOGNAME变量

⑤其他参数:
-m,-p或--preserve-environment:变更身份时,不要变更环境变量(preserve:保持的意思)。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
2、sudo命令
-
sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户
举例:使用sudo命令执行 修改系统时间命令
执行时报“不在sudoers文件中”。所以这个是需要配置sudoders文件的。
-
sudoers文件存放在etc目录下,我们可以直接输入命令visudo编辑sudoers文件,使用visudo命令编辑文件,会验证我们添加的信息是否有语法错误
sudoers文件内容
主要在这里编写,root代表用户,ALL代表主机,括号里的ALL代表已什么身份运行,最后一个ALL代表要执行的命令。
在文件里添加:jack ALL=(root) /bin/date,保存后,切换用户,执行命令
sudo date -s 执行成功
-
sudo -l命令: 查看当前用户可以用sudo执行的命令都有哪些
当用户被添加到 /etc/sudoers 文件并被授予 sudo 权限时,这意味着他们能够以超级用户的权限执行命令,包括使用 sudo su - 或 sudo -i 切换至 root 用户。这种能力确实可能给系统安全带来重大风险,尤其是如果这些用户不是完全可信的,或不慎操作不当。
为了减少潜在的风险,在编辑 /etc/sudoers 文件时,应该选择可信用户:只有那些经过充分评估、被认为可靠且必要的用户才应被授予 sudo 权限。