首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unix:如何更改程序的运行用户和运行组?

Unix:如何更改程序的运行用户和运行组?
EN

Server Fault用户
提问于 2012-08-20 11:54:44
回答 1查看 538关注 0票数 1

我将APACHE_RUN_GROUP中的/etc/apache2/envvars更改为

代码语言:javascript
复制
APACHE_RUN_GROUP=web-content

因为我希望Apache运行我们的www-data:web-content,insetad of www-data:www-data。我讨厌单调的手工黑客,比如chown -R www-data:web-content。在#Debian中,c.*9的一个同志推荐使用ACL,教程这里,而其他的H同志建议了一些传统的方法,而其他的PP同志建议将www-data添加到web-content组(我有它,但是在这个例子中,Apache没有在组中运行,尽管/etc/init.d/apache2 restart所以'ps --group web-content' -output 这里)。现在假设有一个更通用的案例,而不一定是Apache。

加载问题

  1. 如何确保程序以www-data:web-content的形式运行?
  2. 如何确保程序生成的所有文件和and都是www-data:web-content而不是www-data:www-data
  3. 如何确保像Apache这样的程序以www-data:web-content的形式运行?
EN

回答 1

Server Fault用户

发布于 2012-08-20 12:01:08

  1. 如果您以特定用户(而不是根用户)的身份启动程序,它将以该用户的身份运行。
  2. 程序生成的所有文件将由运行该程序的用户拥有,并且将在该用户的默认组中。程序可以将文件组更改为它所属的任何组。
  3. 若要以特定用户身份启动程序,请使用su命令设置命令的用户。man su的指令。请注意,对于Apache,通常只有一个根拥有的进程负责维护日志和启动Apache配置中指定的用户拥有的“处理程序”进程。

如果您想要一个通用的情况,请查看像su这样的系统命令。否则,每个程序(Apache、nginx、mysql等)将处理“丢弃特权”本身的过程,您将需要按照该特定程序的说明进行操作。

从您在问题中指定的路径、用户和组来看,您可能正在运行Debian或Ubuntu Linux。在处理web服务器权限方面,您可能希望遵循特定平台的标准或约定。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/419546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档