shell脚本切换用户
A. 有没有办法在Shell脚本中切换到root用户
如果adsl-start不是脚本,则
chmod 4755 /usr/sbin/adsl-start
如果是脚本就找到对应的程序再 4755
或是用 expect 来搞也可以。看 expect 的例子。
B. 怎么在shell脚本中实现su切换用户
目前用的最多的是用Except
步骤如下:
安装Except
代码:
123456789- #!/usr/bin/envexceptsettimeout30setuser"USERA"setmsg"messageinterminal"setpasswd"yourpassword"spawnsu$userexpect_before$msg{send"$passwd "}interact
注意,msg变量里写你手动切换user时屏幕提示输入密码的信息, passwd就是你切换的那个用户的密码。
C. linux中怎么从root用户切换到普通用户
如果当前是root用户,那么切换成普通用户test用以下命令:
su - test
root@ubuntu:~# su - test
[sudo] password for test:
test@ubuntu:~$
如果要切换回root用户,那么用以游芦下命令:su或su -用户名root可以省略不写。切换回root用户时要输入root密码。一般直接输入exit命令来切换回root用户,这样就不用输入密码。
test@ubuntu:~$ exit
logout
root@ubuntu:~#
(3)shell脚本切换用户扩展阅读
SU:( Switch user切换用户),可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限,切换时需输入欲切换用户的密码;也可以让超级用户切换为普通用户,临时以低权限身份处理事务,切换时无需输入欲切换用户的密码。
参数
-c<指令>或--command=<指令>:执行一个指令后就恢复原来的身份;
-f或--fast:使shell不用读取启动文件,适用于csh和tcsh;
-,-l,--login:切换用户时,使环境变量(home,shell,user,logname,path等)和欲切换的用户相同、
不使用则取得用户的临时权限;
-m,-p,:变更身份时,保留环境变量不变;
-s<shell>,--shell=<shell>:指定执行命令的shell;
--help:显示帮助;
--version:显示版本信息;
用户账户:指定欲切换用户拆唯,默认切换为root。
注:root权限极高,几乎可旅磨培以做任何事,谨慎使用,平时使用普通用户登录,必要时临时切换为root,用完即切换回普通用户。
D. SHELL脚本切换用户需输入密码
正常情况下,使用su - username的方式,普通用户切换都需要输入密码的,只有root su的时候才不需要
E. linux 用户退出怎么命令
用户码察咐退出登录的方法有以下三种:
1、在shell提示符下输入 exit 按回车确认
2、在shell提示符下输入 logout 按回车确认
3、按快捷键crtl+d (此方没敏法同logout效果)
(5)shell脚本切换用户扩展阅读:
Linux常用命令之——退出、切换用户exit、su
exit命令同于退出shell,并返回给定值,在shell脚本中可以终止当前脚本执行,执行exit可使shell以指定的状态值退出。
若不设置状态值参数,则shell以预设值退出,状态值0代表执行成功,其他值代表执行失败。
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
选项:迟纯
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息。
F. linux shell脚本切换用户执行一段命令
ls -l /bin/echo 看看echo命令的权限是什么 如果其他用户没有执行权限,就切到root下加一下x权限
chmod o+x /bin/echo
G. Shell脚本中切换用户执行命令
Shell脚本中切换用户执行命令起因:由于将新项目添加到内网、外网创建git版本库及gitosis管理比较繁琐,于是写个脚本来实现,需要git用户组的用户才能进行git相关操作。解决方法:Shell代码
su
-
www
-c
cd
gitosis-admin
&&
git
add
.
使用su
-u
yourusr
-c
命令,默认的目录是在/home/yourusr/
目录的,执行的命令需要切换目录要注意
H. SHELL切换用户后怎么继续执行脚本,求大神
(1) 需要把${fileforwardpath}改成真正的full path。
(2)手让 make sure这个path上毕饥局每个dir的permission是755
(3) make sure 这两肢顷个sql file(0_CreateUser.sql & 1_DBSetup.sql)的permission是755
I. shell 如何在切换用户后执行后面的语句
这个得用 sudo 命令。他在切换用户后,执行完指定命令后自动切回原用高衫空户。
echo start
sudo -u user ./some.sh
#执戚瞎行多个命令把命令写进脚本里。
echo end
注意采纳。塌老
J. 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用户的密码