linux环境 su用法,详解Linux系统中su和sudo命令的用法

suNAME(名称)

su - 运行替换用户和组标识的shell

SYNOPSIS(总览)

su [OPTION]... [-] [USER [ARG]...]

DESCRIPTION(描述)

修改有效用户标识和组标识为USER的.

-, -l, --login

使得shell为可登录的shell

-c, --commmand=COMMAND

传递单个COMMAND给-c的shell.

-f, --fast

传递-f给shell(针对csh或tcsh)

-m, --preserve-environment

不重置环境变量

-p     与-m同

-s, --shell=SHELL

如果/etc/shells允许,运行SHELL.

--help 显示帮助并退出

--version

输出版本信息并退出

单一的-意味着-l.如果没有给定USER,则假定为root.

例:

复制代码代码如下:

[root@Blackghost ~] su zhangying #切换用户,原用户环境变量

[root@Blackghost ~] su - zhangying #切换用户,新用户环境变量

[zhangying@Blackghost ~] su -c ls root #切换用户执行命令,执行后返回原用户

sudo用户也可以通过su切换到root用户运行命令。然而与su的启动一个root shell允许用户运行之后的所有的命令不同,sudo可以针对单个命令授予临时权限。sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性。sudo也可以用来以其他用户身份执行命令。此外,sudo可以记录用户执行的命令,以及失败的特权获取。

选项:

-a type       使用指定的 BSD 认证类型

-b            在后台运行命令

-C fd         关闭所有 >= fd 的文件描述符

-E            在执行命令时保留用户环境

-e            编辑文件而非执行命令

-g group      以指定的用户组执行命令

-H            将 HOME 变量设为目标用户的主目录。

-h            显示帮助消息并退出

-i [command]  以目标用户身份运行一个登录 shell

-K            完全移除时间戳文件

-k            无效的时间戳文件

-l[l] command 列出用户能执行的命令

-n            非交互模式,将不提示用户

-P            保留组向量,而非设置为目标的组向量

-p prompt     使用指定的密码提示

-S            从标准输入读取密码

-s [command]  以目标用户身份运行 shell

-U user       在列表时,列出指定用户的权限

-u user       以指定用户身份运行命令(或编辑文件)

-V            显示版本信息并退出

-v            更新用户的时间戳而不执行命令

--            停止处理命令行参数

例:

复制代码代码如下:

[root@Blackghost ~] sudo -u tank ls #以tank用户,来执行ls命令

[zhangying@Blackghost ~] sudo touch test #以root账户来建一个文件test,为空默认是root用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值