欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > [Linux]Shell脚本中以指定用户运行命令

[Linux]Shell脚本中以指定用户运行命令

2025/11/11 19:19:20 来源:https://blog.csdn.net/qq_35630119/article/details/145378116  浏览:    关键词:[Linux]Shell脚本中以指定用户运行命令

前言

当我们为Linux设置了用户自启动的shel脚本,默认会使用root用户执行启动脚本中的命令,那么我们如何在启动脚本中切换为指定用户指定命令呢。

命令

以下将列出两条命令,两条命令都可以实现以指定用户运行命令,凭喜好选择使用即可。

命令1

su -s <脚本解释器> -c <命令> <用户名>

例如:

su -s /bin/sh -c './redis-server redis.conf' wingaso
  • 脚本解释器:可以为/bin/sh/bin/bash等等,
  • 命令:-c后边跟着的命令用引号括起来,表示一个待指定的命令字符串,
  • 用户名:加在最后边。将会以指定用户运行引号中的命令。
    在以指定用户执行完引号中的命令后,之后的命令还是会以原用户执行。例如shell原先以root用户运行,在运行到当前命令时,会以wingaso用户运行命令启动redis,之后会继续以root用户运行后续命令。

命令2

sudo -u <用户名> <命令>

例如:

sudo -u wingaso './redis-server redis.conf'

这个命令与命令1效果一样,区别是不需要专门制定脚本解释器。
在以指定用户运行引号中的命令后,同样会以原用户运行后续命令。


本文章受原创保护,如转载请注明出处。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词