如何自动切换到另外一个用户,并执行一段程序,再回到本用户。

demiurge 2003-08-21 10:25:40
如何自动切换到另外一个用户,并执行一段程序,再回到本用户。
如:切换到root,做几个只有root才能用的命令,然后回来。
...全文
195 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
smokefire 2003-10-27
  • 打赏
  • 举报
回复
shell 实现:
用telnet 批处理
如下格式:
(sleep 2; echo "用户名";
sleep 2; echo "密码";
sleep 2; echo "指令";
sleep 2 ) | telnet 本机
hjcug 2003-10-25
  • 打赏
  • 举报
回复
这段程序如果不需要交互的话,可以编成一个脚本,然后设置SUID,这样别的用户就可以直接执行。
keikyo 2003-10-24
  • 打赏
  • 举报
回复
受益匪浅
zgxbliss 2003-10-21
  • 打赏
  • 举报
回复
能实现的一个前提条件就是你得有超级用户的权限,在此基础上你可以使自己更方便更安全地使用超级权限,不知道你是不是要达到这样的目的.如果是的话,配置好sudo命令是一种可行的方案,或者自己写个程序来实现权限的转换.
gwenxia 2003-10-19
  • 打赏
  • 举报
回复
用Alt+F1...F4就可以切换用户,这里的F1,F2...的顺序是按照用户登录的先后来决定的!
yhbttfile 2003-10-19
  • 打赏
  • 举报
回复
如下:
...//一些非超级用户的指令
su
...//需要超级用户权限的指令
exit //退出超级用户
...//一些非超级用户的指令
raulgoal1984 2003-10-18
  • 打赏
  • 举报
回复
所谓“自动”我觉得也只能到楼上各位所说的程度,因为毕竟安全性是系统设计的基本思想嘛,^_^,所以这种麻烦也是在所难免。
fanth 2003-09-17
  • 打赏
  • 举报
回复
同意lynchy() ,试试看
踏岸寻柳 2003-09-17
  • 打赏
  • 举报
回复
不错,如果是root用户的话就可以容易实现你的需求。

su - guest -c date
lynchy 2003-08-26
  • 打赏
  • 举报
回复
su root enter
password enter
..........(your commands)
su OriginalUserName enter
ps:Sorry,I cannot input Chinese in Redhat linux 9(English desktop).:)
tlm007 2003-08-26
  • 打赏
  • 举报
回复
在root下
su - user enter
这样便可以切换到另外一个用户环境下。
或者是用Alt+F1...F4
切换到另外的虚拟控制台用其他用户名登陆也行。
linaxing 2003-08-26
  • 打赏
  • 举报
回复
fierygnu(va_list) 说的才是正解,楼上的其他各位注意,人家要求的是
"自动"
fierygnu 2003-08-21
  • 打赏
  • 举报
回复
一般只有root才这样干。用
su - user1 -c "command arg"

要切换到root,因为需要输入密码,所以shell脚本不能用,可以用expect包来实现。
Re: 《用户管理及用户信息查询命令》 ---------------------------------------内容提要: 01/19)命令useradd   :创建用户02/19)命令usermod :修改用户信息03/19)命令userdel    :删除用户04/19)命令groupadd:创建新组05/19)命令groupdel :删除用户组06/19)命令passwd    :修改用户密码07/19)命令chage      :修改用户密码有效期08/19)命令chpasswd:批量更新用户密码09/19)命令su            :切换用户10/19)命令visudo     :编辑sudoers文件11/19)命令sudo        :以另一个用户身份执行命令12/19)命令id             :显示用户用户组的信息13/19)命令w             :显示已登录用户信息14/19)命令who          : 显示已登录用户信息15/19)命令users       :显示已登录用户16/19)命令whoami    : 显示当前登录的用户名17/19)命令last          :显示用户登录列表18/19)命令lastb         : 显示用户登录失败的记录19/19)命令lastlog      : 显示所有用户的最近登录记录  本人在教学和实战过程中发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作中,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。 对一个士兵来说,枪就是他的武器,对于一个程序员来说,各种library(工具库)就是他的武器;而对于Linux运维人员来说,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。 研磨每一个命令就是擦拭手中的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手中的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功! 本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题中来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。 本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学中就不再赘述! 《参透 VMware 桌面级虚拟化》 《在虚拟机中安装模版机(包括应用软件等)》 《SecureCRT 连接 GNS3/Linux 的安全精密工具》 

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧