Linux命令su和sudo的区别

目录

1、su命令

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变量

​⑤其他参数:

2、sudo命令

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执行的命令都有哪些

发布了31 篇原创文章 · 获赞 16 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/SwTesting/article/details/81698986