SOA架构中, 底层linux如何切换用户身份后运行函数命令?
2011-10-24 16:59
633 查看
项目需求:
基于SOA,Webservice,与底层Linux交互
SOA中应用中存在两类用户,组内管理员和组内普通用户,通过底层共享组内管理员账号,以管理员身份执行命令,这样管理员就可以管理组内用户的文件和操作。
难点:
SOA的应用层可以管理和分配用户角色,底层Linux如何安全无误的共享用户身份执行命令?
实际采用方案:
假设组管理员Gmx和组用户Gux,如何使Gux切换使用Gm1,Gm2,...Gmx用户身份执行命令
1 sudo方案
首先给一个大权限用户U,赋予切换Gm1....Gmx的身份权限,由文件/etc/sudoers进行配置。
在Linux服务器上,启动U身份的服务。
通过U身份以Gmx身份执行.
执行sudo -u Gm1 {command or function , such as : mkdir} $parameter1
2 ssh 方案
首先在Linux服务器上,设置访问ssh Gm@localhost 时不需要密码。
http://blog.csdn.net/lsweetyy/article/details/7482376
在Linux服务器上,启动U身份的服务。
通过U身份执行ssh Gmx@localhost command $parameter1命令即可,
【特别注意】, 如果command命令有参数,且参数有带空格,格式需要为"\"$parameter1"\",或"'$parameter1'"(双引号+单引号),而sudo 时command 的参数只需要"$parameter1"即可
评价:
1 方案,的/etc/sudoers需要root身份来设置,如果增加sudo -u Gmn,需要root,配置时不方便
2 方案,只需要在ssh 的账号~目录下,追加~/.ssh/authorized_keys 其公钥即可,方便,但是配置复杂。
基于SOA,Webservice,与底层Linux交互
SOA中应用中存在两类用户,组内管理员和组内普通用户,通过底层共享组内管理员账号,以管理员身份执行命令,这样管理员就可以管理组内用户的文件和操作。
难点:
SOA的应用层可以管理和分配用户角色,底层Linux如何安全无误的共享用户身份执行命令?
实际采用方案:
假设组管理员Gmx和组用户Gux,如何使Gux切换使用Gm1,Gm2,...Gmx用户身份执行命令
1 sudo方案
首先给一个大权限用户U,赋予切换Gm1....Gmx的身份权限,由文件/etc/sudoers进行配置。
在Linux服务器上,启动U身份的服务。
通过U身份以Gmx身份执行.
执行sudo -u Gm1 {command or function , such as : mkdir} $parameter1
2 ssh 方案
首先在Linux服务器上,设置访问ssh Gm@localhost 时不需要密码。
http://blog.csdn.net/lsweetyy/article/details/7482376
在Linux服务器上,启动U身份的服务。
通过U身份执行ssh Gmx@localhost command $parameter1命令即可,
【特别注意】, 如果command命令有参数,且参数有带空格,格式需要为"\"$parameter1"\",或"'$parameter1'"(双引号+单引号),而sudo 时command 的参数只需要"$parameter1"即可
评价:
1 方案,的/etc/sudoers需要root身份来设置,如果增加sudo -u Gmn,需要root,配置时不方便
2 方案,只需要在ssh 的账号~目录下,追加~/.ssh/authorized_keys 其公钥即可,方便,但是配置复杂。
相关文章推荐
- 如何实现使得一个普通用户以root身份运行命令
- linux学习入门2-3——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
- 如何实现使得一个普通用户以root身份运行命令
- linux学习入门1——bash命令基本操作(linuxcast.net)(bash部分快捷键、uname、history、通配符、切换用户、作业管理(前台、后台运行,暂停等操作))
- linux中如何切换用户身份
- 如何实现使得一个普通用户以root身份运行命令和如何使用sudo命令?
- Linux 命令 - su: 以其他用户和组 ID 的身份来运行 shell
- Linux学习笔记——切换并取代用户身份命令——su
- LINUX系统 不切换用户 指定用户的身份运行某一程序
- Linux命令之如何从普通用户切换至管理员用户
- linux下如何以某个用户的身份运行程序
- Linux如何查看系统当前登录用户信息,linux su命令参数及用法详解(linux切换用户命令)
- login命令_Linux login 命令用法详解:登录系统或切换用户身份
- su命令_Linux su 命令用法详解:用于切换当前用户身份到其他用户身份
- win7 createprocess 如何以当前登陆用户身份运行程序
- linux用户与组的管理(命令添加、手动添加、添加组、用户之间的切换)
- 如何在 Linux 中不输入密码运行 sudo 命令
- 每天学习一个LINUX命令:su (switch user 切换用户)
- telint命令_Linux telint 命令用法详解:切换当前正在运行系统的运行等级
- 如何恢复linux的环境变量ubuntu中root用户没有办法使用命令