首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试以来自另一个shell脚本的另一个用户身份执行shell脚本

在Linux系统中,可以使用su命令以另一个用户身份执行shell脚本。su命令用于切换用户身份,可以通过以下方式来执行shell脚本:

  1. 使用su命令切换到目标用户身份:
  2. 使用su命令切换到目标用户身份:
  3. 其中,用户名是目标用户的用户名,-c选项用于指定要执行的命令或脚本。
  4. 例如,如果要以user2用户的身份执行名为script.sh的shell脚本,可以使用以下命令:
  5. 例如,如果要以user2用户的身份执行名为script.sh的shell脚本,可以使用以下命令:
  6. 如果目标用户没有设置密码,可以使用sudo命令以目标用户身份执行shell脚本。首先,需要确保当前用户具有使用sudo命令的权限。然后,可以使用以下命令来执行shell脚本:
  7. 如果目标用户没有设置密码,可以使用sudo命令以目标用户身份执行shell脚本。首先,需要确保当前用户具有使用sudo命令的权限。然后,可以使用以下命令来执行shell脚本:
  8. 其中,用户名是目标用户的用户名。
  9. 例如,如果要以user2用户的身份执行名为script.sh的shell脚本,可以使用以下命令:
  10. 例如,如果要以user2用户的身份执行名为script.sh的shell脚本,可以使用以下命令:

以上是在Linux系统中以另一个用户身份执行shell脚本的方法。这种方式可以用于在脚本中切换用户身份,以便执行需要特定用户权限的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shell 脚本中调用另一个 Shell 脚本三种方式

运行时候 terminal 会新开一个子 Shell 执行脚本 foo.sh,子 Shell 执行时候, 父 Shell 还在。子 Shell 执行完毕后返回父 Shell。...被调用脚本与父脚本在同一个 Shell执行。但是使用 exec 调用一个新脚本以后, 父脚本中 exec 行之后内容就不会再执行了。...这是 exec 和 source 区别. source 与 fork 区别是不新开一个子 Shell执行被调用脚本,而是在同一个 Shell执行....exec 在同一个 Shell执行,但是父脚本中 exec 行之后内容就不会再执行了 source 在同一个 Shell执行,在被调用脚本中声明变量和环境变量, 都可以在主脚本中进行获取和使用...参考: 在shell脚本中调用另一个脚本三种不同方法(fork, exec, source)

4.3K20
  • Shell 脚本中调用另一个 Shell 脚本三种方式

    提示:以下是介绍为什么写这篇文章: 如何再shell脚本中调用其他脚本? 顺序调用会保证脚本顺序执行吗?...一、在 Shell 脚本中调用另一个 Shell 脚本三种方式 先来说一下主要以下有几种方式: fork: 如果脚本执行权限的话,path/to/foo.sh。...运行时候 terminal 会新开一个子 Shell 执行脚本 foo.sh,子 Shell 执行时候, 父 Shell 还在。子 Shell 执行完毕后返回父 Shell。...1.2 exec exec 与 fork 不同,不需要新开一个子 Shell执行被调用脚本. 被调用脚本与父脚本在同一个 Shell执行。...这是 exec 和 source 区别. 1.3 source 与 fork 区别是不新开一个子 Shell执行被调用脚本,而是在同一个 Shell执行.

    3.2K10

    Shell脚本调用另一个脚本三种方法

    first file 4.三者区别 使用source命令和点号.是等价了,类似于C/C++中#include预处理指令,都是将指定脚本内容拷贝至当前脚本中,由一个Shell进程来执行。...使用sh命令来调用另外脚本和前面两种方法有着本质区别。使用sh命令则会开启新Shell进程来执行指定脚本,这样的话,父进程中变量在子进程中就无法访问。...(3)全局变量:在脚本中定义,仅在当前Shell脚本中有效,其他Shell脚本进程不能访本,其作用域从定义位置开始,到脚本结束或被显示删除地方为止。...注意,全局变量既可以在Shell函数内定义,也可以在shell函数外定义,因为shell函数内定义变量默认为global,且作用域从“函数被调用时执行变量定义地方”开始,到脚本结束或被显示删除地方为止...在shell脚本中函数内显示使用local关键字定义变量。其作用域局限于函数内。同名local变量会屏蔽global变量。

    12.1K50

    shell脚本介绍,shell脚本结构和执行方式,date命令用法,shell脚本变量简介

    ,让使用者可以直接shell来写程序,而不必使用类似C程序语言等传统程序编写语法。...它为用户提供了一个向Linux发送请求以便运行程序接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写程序,它是用户使用Linux桥梁。...作为命令型语言,它互动式地解释和执行用户输入命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。...把一个日期转换成时间戳: date +%s -d "2017-09-06 06:52:16" 另一个与时间相关命令:cal,cal命令可以显示日历: ? 20.4 shell脚本变量 ?  ...下面的例子尝试更改只读变量,结果报错: ? 运行脚本,结果如下: ? 删除变量: 使用 unset 命令可以删除变量里数据。语法: unset name 示例: ? 运行结果: ?

    2.5K60

    linux学习第六十三篇:Shell脚本介绍,Shell脚本结构和执行,date命令用法,Shell脚本变量

    Shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令集合 shell脚本可以实现自动化运维...,能大大增加我们运维效率 Shell脚本结构和执行 开头需要加#!.../bin/bash #开头行作为解释说明 脚本名字.sh结尾,用于区分这是一个shell脚本 执行方法有两种 chmod +x 1.sh; ./1.sh ; 这个..../是相对路径,使用完整路径也可以执行 bash 1.sh 查看脚本执行过程 bash/sh -x 1.sh 查看脚本是否语法错误 bash/sh -n 1.sh date命令用法 显示日历 cal...fi 引用某个命令结果时,用变量替代 n=wc -l 1.txt 写和用户交互脚本时,变量也是必不可少 read -p “Input a number: ” n; echo n如果没写这个

    1.7K70

    Shell脚本配合iptables屏蔽来自某个国家IP访问

    星期六我们子公司受到攻击,我们网络监测显示有连续6小时巨大异常流量,我立即联系在场IT,没有得到回应,我修改和限制了他们 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响...登录到 VPS 第一件事情就是查当前连接和 IP,来自中国大量 IP 不断侵占80端口,典型 DDoS....因为攻击源在国内,所以我们决定切断来自国内所有访问,这样看上去网站好像是被墙了而不是被攻击了,有助于维护客户网站光辉形象,那么如何屏蔽来自某个特定国家 IP 呢?...方法很容易,先到 IPdeny 下载国家代码编制好 IP 地址列表,比如下载 cn.zone: 复制代码 代码如下: wget http://www.ipdeny.com/ipblocks/data.../countries/cn.zone 有了国家所有 IP 地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中: 复制代码 代码如下: #!

    2K20

    在python脚本执行shell命令方法

    在python脚本执行shell命令方法 最近在写python一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本时候,发现了...使用Python处理一个shell命令或者一个执行一个shell脚本,一般情况下,有下面三种方法,下面我们来看: 第一种方法是使用os.system方法 os.system("cmd") 我们在当前目录下面创建一个...shell命令pwd时候,commands.getstatusputput返回值是0,也就是执行成功,返回结果是当前目录;当执行pwddddd时候,由于不是系统命令,所以返回结果是command...,可以得到一个脚本或者一个命令返回值和执行结果,当然,我们也可以使用下面的方法来分别校验aaa.sql文件是否存在,以及查看aaa.sql执行结果: 1[root@ /data]$python 2Python...,把脚本执行结果和返回值进行保存,根据脚本执行结果来确定最终返回值: 1cmd = "/bin/sh /data/scripts/test.sh %s" % para 2status, res

    5.3K00

    Shell 脚本中跟踪调试命令执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行重要性 shell 脚本调试系列 本系列前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解例子展示了如何在这些模式下启用...Linux 中启用 Shell 脚本调试模式 在 Shell 脚本执行语法检查调试模式 在 Shell 脚本中跟踪调试命令执行 ---- 概述 shell 跟踪简单来说就是跟踪 shell 脚本命令执行...id ,root用户uid 为0 保存文件并执行脚本。...---- shell 跟踪执行重要性 hell 脚本跟踪可以帮助我们识别语法错误,更重要是识别逻辑错误。...例如,在 sys_info.sh shell 脚本 check_root 函数,它用于确定用户是否为 root,因为脚本只允许由超级用户执行

    91020

    shell 脚本中关于用户输入参数处理

    shell 脚本中关于用户输入参数处理 bash shell 脚本提供了3种从 用户处 获取数据方法: 命令行参数(添加在命令后数据) 命令行选项 直接从键盘读取输入 1 命令行参数 像 shell...脚本传递数据最基本方法是使用 命令行参数..../temp.sh numbe bash shell 还提供了几个特殊变量: $# 脚本运行时携带 命令行参数个数; $* 将命令行上提供 所有参数 当做 一个单词 保存; $@ 将命令行上提供...这里从略, 等有需要用到再回来补上. 3 获取用户输入 尽管 命令行选项 和 参数 是从 用户处 获取输入一种重要方式, 但有时脚本交互性还需更强一些....比如在脚本运行时问一个问题, 等待运行脚本的人来回答, bash shell 为此提供了 read 命令. 3.1 read 命令 read variable_name 从标准输入(键盘) 或 另一个文件描述符中

    2.4K20

    Shell-使用&和wait让你脚本并行执行

    文章目录 概述 常见串行执行 使用&和wait改造 示例二 ? ---- 概述 我们知道shell命令都是串行执行,如果想要充分利用服务器资源,就需要些小技巧了。...假定业务上多个业务逻辑没有先后关系,每个脚本执行时间也很长 ,推荐并行执行。 一般情况下,我们会把每个业务逻辑写到一个单独脚本里,在服务器上逐一调用,每次都要手工去敲命令。...执行时候去调用这个调用脚本,事实上linux会根据脚本顺序 串行去调用这些脚本,还不如自己在服务器上一个个执行快呢,最起码手工逐个调用脚本还是并行。.../bin/bash #当前目录下执行如下脚本 相对路径 ./1.sh ./2.sh echo "继续执行剩下逻辑...".../bin/bash #当前目录下执行如下脚本 相对路径 ./1.sh & ./2.sh & wait echo "继续执行剩下逻辑..."

    15.2K11

    Linux中执行shell脚本4种方法总结

    bash shell 脚本方法有多种,现在作个小结。假设我们编写好shell脚本文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。...方法一:切换到shell脚本所在目录(此时,称为工作目录)执行shell脚本:cd /data/shell./hello.sh./意思是说在当前工作目录下执行hello.sh。如果不加上....方法二:绝对路径方式去执行bash shell脚本:/data/shell/hello.sh方法三:直接使用bash 或sh 来执行bash shell脚本:cd /data/shellbash hello.sh...方法四:在当前shell环境中执行bash shell脚本:cd /data/shell. hello.sh或cd /data/shellsource hello.sh前三种方法执行shell脚本时都是在当前...shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell执行

    17.2K30
    领券