脚本切换用户
权限不够
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
㈡ 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
㈢ ubuntu脚本中实现切换到root用户执行命令 执行完在切换回来普通用户
想从root用户切回user用户只需执行命令:su user (user是你自己安装时候的用户名),或是直接输入exit,也可Ctrl+D组合键推出
㈣ linux自动巡检脚本之用户切换后的命令执行
切换的时候直接写上要执行的巡检脚本 并把结果发送的脚本一起写上
例如:su - aaaa -s /bin/bash shell.sh
切到aaaa用户用bash环境执行shell.sh脚本
其他自由发挥吧
㈤ SHELL脚本切换用户需输入密码
先确认一下su
-c
能否解决巧庆问题,语法
su
-
-c
以指定派宽缺用户执行命令
[root@fw98
/]#
whoami
root
[root@fw98
/]#
su
-
mao
-c
whoami
mao
不能满足需求的话,可以用expect,我的环境上没有expect,不能帮你试了,大致是下面的感觉,详细你网络查一下
#!/usr/bin/expect
su
-
mao
#你要执行的命令
expect
"Password:"
#执行后终端回显的交互信息
send
"admin_123\r"
#当终端出现上面的交互详细后,模拟键盘输入的内容
#此例,执行su
-
mao
切换mao用户,终端提示输入密码后,模拟键盘输尘辩入mao用户的密码
㈥ unix脚本中如何切换用户
这个得用 sudo 命令。他在切换用户后,执行完指定命令后自动切回原用户。
echo start
sudo -u user ./some.sh
#执行多个命令把命令写进脚本里。
echo end
㈦ 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文件中不会有记录,切换后的第一次登录仍需输入密码。