sudo -i和sudo -s有什么区别

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:31:30

sudo -i:

Linux终端命令下改变用户对命令使用权限的命令。
sudo-s :

执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 。



sudo:

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。



sudo -i,加载用户变量,并跳转到目标用户home目录;
sudo -s,不加载用户变量,不跳转目录;

  sudo -i是Linux终端命令下改变用户对命令使用权限的命令,例如,在Linux命令终端中,开始为“user@ubuntu:~$”,当使用该命令后,会出现输入密码的提示,之后输入密码,就会变为“root@ubuntu:~#”,这样就是改变了用户对一些命令的权限。
  sudo-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 。

参数:
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SH