sudo -s 是用 root 的权限执行默认的 shell
nagaregawa 发表于 2011-01-12 18:30

这位仁兄的回答 豁然开朗!
#sudo  -s  我只是从结果看 切换到了root ,我狐疑的是sudo -s 是否等于sudo su –  其实执行的动作是不一样的
做个试验来验证,我修改了我普通用户的$SHELL(改成csh,而root的还是默认的bash)
# tail -n 2 /etc/passwd
zhenqiang:20003:20003::/home/zhenqiang:/bin/csh
仔细看如下命令执行:
[zhenqiang@www ~]$ id
uid=20003(zhenqiang) gid=20003(zhenqiang) groups=20003(zhenqiang)
[zhenqiang@www ~]$ echo $SHELL
/bin/csh
[zhenqiang@www ~]$ sudo -s
[root@www ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@www ~]# echo $SHELL
/bin/csh@@@@@@@@@@还是zhenqiang用户的shell
[root@www ~]# exit
[zhenqiang@www ~]$ sudo su –
[root@www ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@www ~]# echo $SHELL
/bin/bash@@@@@@@@@这回是root用户自己的shell

结案!

 

 

sudo,以其他用户身份执行一个命令。

常見用法

手冊

用法

sudo -h | -K | -V
sudo -v [-Akns] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-Akns] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [p prompt] [-u user] [VAR=value] [-i|-s] [<command>]
sudo -e [-Akns] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file …

選項全表

-A, –askpass 使用一个辅助程序以提示密码。
-b, –background 在后台运行命令。
-C, –close-from=num 关闭所有大于等于num的文件描述。
-E, –preserve-env 运行命令时保存用户环境。
-e, –edit 编辑文件而非运行一个命令。
-g, –group=group 以指定的组名或组ID运行一个命令。
-H, –set-home 设置 HOME 变量以指向用户的 HOME 目录。
-h, –help 显示帮助信息并且退出。
-h, –host=host 在主机上运行命令(如果插件支持)。
-i, –login 以目标用户运行登录shell;也可以指定一个命令。
-K, –remove-timestamp 完全删除时间戳文件。
-k, –reset-timestamp 失效时间戳文件。
-l, –list 列出用户特权或检查一个特定的命令;长格式使用两次。
-n, — non-interactive 非交互方式,无提示被使用。
-P, –preserve-groups 保存组向量而非设置指定的目标。
-P, –prompt=prompt 使用指定的密码提示。
-r, –role=role 用指定的角色创建SELinux安全上下文。
-S, –stdin 从变准输入读取密码。
-s, –shell 以目标用户运行 shell;也可以指定一个命令。
-t, –type=type 使用指定的类型创建 SELinux 安全上下文。
-U, –other-user=user 在列表模式中,显示用户特权。
-u, –user=user 以指定的用户或用户ID运行命令(或编辑文件)。
-V, –version 显示版本信息并且退出。
-v, –validate 更新用户的时间戳而不运行一个命令。
停止处理命令行参数。

Leave a Reply

Your email address will not be published. Required fields are marked *