当前位置:首页 » 编程软件 » 脚本切换用户执行

脚本切换用户执行

发布时间: 2024-10-23 16:57:57

linux自动巡检脚本之用户切换后的命令执行

权限不够
1、你看下你的脚本有没有读和执行的权限,用一下命令查看:
ls -trl /home/aaaaa/test.sh
看看出来的 -rw-r--r--. 1 root root 28757 12月 12 09:28 install.log 具体是什么
就像我上卖弄读取出来的这个 install.log 文件一样,他的权限是 对root用户 有读和修改的权限,对root用户组只有 读 的权限,对其他念李局用户也只有读的扰枯权限,那么这个时候 你用其他用户执行,肯定执行不了;

2、看看切换的用户有没有读和执行该脚本的权限;

关于权限这边说就太了多了,如果不懂的话建议自己下去看看;
有个最简单的方法 直接 chmod 777 aaaa.sh 给予aaaa.sh这个脚本所有权限,然后再切换仔让用户后,就可以直接执行了 bash aaaa.sh

❷ Steam快速切换账号,无需软件

购买游戏时,我拥有多个Steam账号,还会在俄区、阿根廷等地打折时购买游戏。

然而,Steam每次只能自动登录一个账号,换账号时还需重新输入密码或安全码,非常繁琐。因此,我希望能实现不同账号的自动切换。

在网上寻找了许多解决方案,但大多是第三方软件,担心账号信息会被上传至网络,于是决定自己编写脚本解决问题,既安全又便捷。

结合网络资料,我编写了以下bat脚本。其原理是,Steam的默认登录账号是存储在注册表中的,然后根据注册表中的账号信息去Steam/config/loginusers.vdf文件中查找对应账号信息。因此,切换用户时,只需修改注册表中的账号信息即可。

以下是实操步骤:

1.新建文件Stream.bat,使用文本编辑器打开并输入以下代码。

2.将代码中10-12行的Account1/Account2/Account3替换为自己的账号,即可实现自动切换账号。

3.若拥有多个账号,可自行添加if行。

PS:请注意,切换的账号必须之前登录过,否则在Steam/config/loginusers.vdf文件中不会有记录,切换后的第一次登录仍需输入密码。

❸ shell脚本,我从root用户切换到普通用户之后,新定义了一个变量,但打印变量的值是空的,怎么回事

在$前面加上转义, echo ${Result1} 替换成echo ${Result1}


这个问题跟root用户切换到普通用户什么的没关系,而是因为你在用here-document的时候,并没有用双引号或单引号将!引用起来,或用转义符将here-document中的元字符$转义,这时候here-document中的文本将被扩展,即参数替换被启用。

你运行一下这段脚本,看看Result1值的变化,就会明白了

#!/bin/bash
Result1="001"
echo "Parameter substitution is enabled"
bash<<EOF
if [ "1" = "1" ];
then
Result1="111";
echo ${Result1};
echo "wr";
fi
EOF
echo "Parameter substitution is disabled"
bash<<EOF
if [ "1" = "1" ];
then
Result1="111";
echo ${Result1};
echo "wr";
fi
EOF
bash<<'EOF'
if [ "1" = "1" ];
then
Result1="111";
echo ${Result1};
echo "wr";
fi
EOF

❹ 脚本 怎么切换linux用户

你在你的shell中输入:su 用户名
su - 表示切换root用户,等同于su root
su是substitute的缩写
你可以搜索linux su

❺ ubuntu脚本中实现切换到root用户执行命令 执行完在切换回来普通用户

想从root用户切回user用户只需执行命令:su user (user是你自己安装时候的用户名),或是直接输入exit,也可Ctrl+D组合键推出

❻ unix脚本中如何切换用户

这个得用 sudo 命令。他在切换用户后,执行完指定命令后自动切回原用户。
echo start
sudo -u user ./some.sh
#执行多个命令把命令写进脚本里。
echo end

❼ SHELL脚本切换用户需输入密码

正常情况下,使用su - username的方式,普通用户切换都需要输入密码的,只有root su的时候才不需要

❽ linux 中如何执行脚本

ash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

cd /data/shell
./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
方法二:以绝对路径的方式去执行bash shell脚本:

/data/shell/hello.sh

方法三:直接使用bash 或sh 来执行bash shell脚本:

cd /data/shell
bash hello.sh



cd /data/shell
sh hello.sh

注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。
方法四:在当前的shell环境中执行bash shell脚本:

cd /data/shell
. hello.sh



cd /data/shell
source hello.sh

前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

热点内容
phpsql2005 发布:2024-10-23 19:18:48 浏览:118
酒网站源码 发布:2024-10-23 19:17:27 浏览:865
安卓技术栈是什么 发布:2024-10-23 19:12:00 浏览:423
安卓漏洞有什么后果 发布:2024-10-23 19:06:34 浏览:482
数据库的特点是 发布:2024-10-23 18:54:21 浏览:147
linux最后一个字符 发布:2024-10-23 18:52:48 浏览:633
安卓浏览器特别卡什么原因 发布:2024-10-23 18:51:54 浏览:813
文件夹查看大图 发布:2024-10-23 18:45:50 浏览:545
大佬写脚本需要多久 发布:2024-10-23 18:44:10 浏览:148
python统计行数 发布:2024-10-23 18:26:37 浏览:295