Linux命令su和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命令:使用其他用户来执行命令,一般是root用户。
举例:使用sudo命令执行 修改系统时间命令
执行时报“不在sudoers文件中”。所以这个是需要配置sudoders文件的。
sudoers文件存放在etc目录下,我们可以直接输入命令visudo编辑sudoers文件,使用visudo命令编辑文件,会验证我们添加的信息是否有语法错误。
sudoers文件内容
主要在这里编写,root代表用户,ALL代表主机,括号里的ALL代表已什么身份运行,最后一个ALL代表要执行的命令。
在文件里添加:jack ALL=(root) /bin/date,保存后,切换用户,执行命令
sudo -l 查看当前用户可以用sudo执行的命令都有哪些
sudo date -s 执行成功