[7楼已解决,感谢cheaper]如何让不同用户运行不同的服务?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38

[7楼已解决,感谢cheaper]如何让不同用户运行不同的服务?

#1

帖子 LuciferStar » 2009-05-25 13:09

搜了很久,没找到答案。所以发帖问一下:)

问题很简单:
假设有两用户甲,乙,权限未定(假设甲掌握root密码,可执行sudo,乙则无)。
想要让甲登陆后,mysql服务自动运行;乙登陆,则无。(这里仅举mysql一个服务,可以推广到系统所有服务)

我可以通过增加删除rcX.d里的S*来达到控制服务启动的目的,但是却不能在用户登陆后让未运行的服务启动。

后来尝试用GNOME的session来设置(我添加了一个gedit,在登陆后果然自动运行了)。

可问题是,mysql服务的启动,需要root的权限。自然,这个方法又失败了。

尝试修改\etc\init.d\mysql的组,没成功。

啰嗦半天,总结一句话:让不同用户登陆后,系统自动运行不同的服务。
行不?

菜鸟一个,又因为找了半天找不到结果,所以来问问大家 :em01
上次由 LuciferStar 在 2009-05-25 22:07,总共编辑 1 次。
头像
wowoto
帖子: 3049
注册时间: 2009-04-11 12:17
系统: windows7

Re: 如何让不同用户运行不同的服务?

#2

帖子 wowoto » 2009-05-25 13:53

让不同用户登陆后,系统自动运行不同的服务。——————
为什么要自动运行不同的服务?
自动运行的内部系统服务而不是我们平时用的基本软件?
wowoto>ubuntu8.04>ubuntu9.04>Archlinux>FreeBSD8.0>Archlinux & end here.
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38

Re: 如何让不同用户运行不同的服务?

#3

帖子 LuciferStar » 2009-05-25 13:57

wowoto 写了:让不同用户登陆后,系统自动运行不同的服务。——————
为什么要自动运行不同的服务?
自动运行的内部系统服务而不是我们平时用的基本软件?
我现在,是想将除默认系统之外添加的服务的启动进行自定义设置。

如果能把系统的那些服务也自定义,就更好了:)
头像
cheaper
帖子: 198
注册时间: 2006-01-06 17:26

Re: 如何让不同用户运行不同的服务?

#4

帖子 cheaper » 2009-05-25 14:05

在用户登录前, 系统初始化是用root. 当初始化完毕后用户登录, 这时候所有的程序,服务都是以登录用户的权限启动的. 所以需要root的程序,服务不能启动成功.
给你一个建议, 不知道能否成功.:
如果你是用gdm, kdm 登录, 到可以利用gdm, kdm 来完成你的需求. 启动gdm,kdm 也是一个独立的用户(标示为A), 其级别较高. 你调整改A的权限级别, 使其可以启动mysql等服务, 然后通过A去执行一段用来判断用户的script.
我是学习linux,不是学习如何装linux。

Myblog
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 如何让不同用户运行不同的服务?

#5

帖子 BigSnake.NET » 2009-05-25 14:12

既然要 root 来运行, 为什么当作是用户的服务呢
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38

Re: 如何让不同用户运行不同的服务?

#6

帖子 LuciferStar » 2009-05-25 15:15

cheaper 写了:在用户登录前, 系统初始化是用root. 当初始化完毕后用户登录, 这时候所有的程序,服务都是以登录用户的权限启动的. 所以需要root的程序,服务不能启动成功.
给你一个建议, 不知道能否成功.:
如果你是用gdm, kdm 登录, 到可以利用gdm, kdm 来完成你的需求. 启动gdm,kdm 也是一个独立的用户(标示为A), 其级别较高. 你调整改A的权限级别, 使其可以启动mysql等服务, 然后通过A去执行一段用来判断用户的script.
谢谢!
俺摸石头过河,试试看:)
BigSnake.NET 写了:既然要 root 来运行, 为什么当作是用户的服务呢
如果成功,好像就可以为不同用户做不同的事情提供不同的环境。老机器,能少开一点服务,是一点:)
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38

Re: 如何让不同用户运行不同的服务?

#7

帖子 LuciferStar » 2009-05-25 22:06

成功啦!
在/etc/gdm/PostLogin下,新建一个Default(其实,只要修改原来的Default.sample,然后该一下名就可以了),添加数据:

代码: 全选

if [$LOGNAME = "luciferstar"];then
/etc/init.d/mysql start
fi
用luciferstar登录后,开一个console,mysql,马上就能用mysql了!
再次感谢cheaper为我指明了道路 :em03
头像
xtay573269555
帖子: 217
注册时间: 2008-09-24 23:56

Re: [7楼已解决,感谢cheaper]如何让不同用户运行不同的服务?

#8

帖子 xtay573269555 » 2009-05-25 22:12

学习……
cheaper与lz同谢!
头像
AngelMAX
帖子: 2228
注册时间: 2009-02-25 18:18

Re: 如何让不同用户运行不同的服务?

#9

帖子 AngelMAX » 2009-05-25 23:32

LuciferStar 写了:成功啦!
在/etc/gdm/PostLogin下,新建一个Default(其实,只要修改原来的Default.sample,然后该一下名就可以了),添加数据:

代码: 全选

if [$LOGNAME = "luciferstar"];then
/etc/init.d/mysql start
fi
用luciferstar登录后,开一个console,mysql,马上就能用mysql了!
再次感谢cheaper为我指明了道路 :em03
不开console能行么?
在中国搞IT的谁不知道Ctrl+C,Ctrl+V啊~
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38

Re: 如何让不同用户运行不同的服务?

#10

帖子 LuciferStar » 2009-05-26 9:00

AngelMAX 写了:
LuciferStar 写了:成功啦!
在/etc/gdm/PostLogin下,新建一个Default(其实,只要修改原来的Default.sample,然后该一下名就可以了),添加数据:

代码: 全选

if [$LOGNAME = "luciferstar"];then
/etc/init.d/mysql start
fi
用luciferstar登录后,开一个console,mysql,马上就能用mysql了!
再次感谢cheaper为我指明了道路 :em03
不开console能行么?
开console是为了执行mysql命令,检查mysql服务是否已经运行。
刚才在虚拟机里试了下,好像没成功:(
因为虚拟机里网络配置不正确,所以没法安装mysql,因此我测试的命令是
gedit /etc/gdm/PostLogin/Default
登陆后,好像没效果。
继续测试:)
回复