脚本里如何切换用户?

sh/bash/dash/ksh/zsh等Shell脚本
回复
sprite1981
帖子: 19
注册时间: 2011-11-02 12:23

脚本里如何切换用户?

#1

帖子 sprite1981 » 2011-11-03 14:05

求大侠帮忙!!!

脚本里怎么切换成另一个用户再执行命令?
注:用户只是本机上的一个普通用户,非root。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 脚本里如何切换用户?

#2

帖子 lilydjwg » 2011-11-03 14:09

no way except being root.
头像
sevk
帖子: 2060
注册时间: 2007-05-08 16:26
系统: arch
来自: 火星内核某分子内某原子核内
联系:

Re: 脚本里如何切换用户?

#3

帖子 sevk » 2011-11-03 14:24

很简单。用sudo -u
具体看 man sudo
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
sprite1981
帖子: 19
注册时间: 2011-11-02 12:23

Re: 脚本里如何切换用户?

#4

帖子 sprite1981 » 2011-11-03 14:34

sudo -u username 吗?
可是我要切换过去的username我从哪获得呢?我事先可并不知道要切到哪个用户!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 脚本里如何切换用户?

#5

帖子 lilydjwg » 2011-11-03 14:37

sprite1981 写了:sudo -u username 吗?
可是我要切换过去的username我从哪获得呢?我事先可并不知道要切到哪个用户!
哦,你是想从 root 切换到普通用户?你事先不知道要切到哪个用户,那你什么时候才知道呢?
sprite1981
帖子: 19
注册时间: 2011-11-02 12:23

Re: 脚本里如何切换用户?

#6

帖子 sprite1981 » 2011-11-03 14:51

因为要写进脚本里,而脚本可能会拿到不同的机子上运行。
所以我就是不知道该怎么取得正真使用者的username啊?!!!
有什么办法没?
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 脚本里如何切换用户?

#7

帖子 枫叶饭团 » 2011-11-03 14:58

who 就知道谁在用了
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 脚本里如何切换用户?

#8

帖子 lilydjwg » 2011-11-03 15:45

sprite1981 写了:因为要写进脚本里,而脚本可能会拿到不同的机子上运行。
所以我就是不知道该怎么取得正真使用者的username啊?!!!
有什么办法没?
真正的使用者当然是 root 啦,别的用户没权限切换用户的!如果你用 sudo 让使用者输密码的话也行,这时候使用者是 $SUDO_USER。
sprite1981
帖子: 19
注册时间: 2011-11-02 12:23

Re: 脚本里如何切换用户?

#9

帖子 sprite1981 » 2011-11-03 16:23

$SUDO_USER是什么??
我用echo看了一下是空的嘛!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 脚本里如何切换用户?

#10

帖子 lilydjwg » 2011-11-03 16:27

sprite1981 写了:$SUDO_USER是什么??
我用echo看了一下是空的嘛!
在 sudo 的命令中才有效的。

[bash]
>>> sudo bash -c 'echo $SUDO_USER'
密码:
lilydjwg
[/bash]
sprite1981
帖子: 19
注册时间: 2011-11-02 12:23

Re: 脚本里如何切换用户?

#11

帖子 sprite1981 » 2011-11-03 16:47

果然可以!!

太感谢了,lilydjwg!
回复