Gig*_*tsu 8 linux services permissions daemon
Linux 中的服务如何使用权限?我已经知道我可以设置read,write以及execute对文件和目录的权限chmod分别用于owner,group以及other users但是如何权限运行的服务工作?如何查看服务对特定文件/目录的权限?
小智 6
服务受常规权限限制的约束。这完全取决于服务以什么用户身份运行。服务只是一直在运行的常规进程。
例如,
$ ps 辅助 | 阿帕奇2 根 2845 0.0 0.2 75596 4508 ? Ss Sep06 0:19 /usr/sbin/apache2 -k start www-data 25608 0.0 0.1 74428 2232 ? S Sep09 0:00 /usr/sbin/apache2 -k start www-data 25609 0.0 0.1 75596 2288 ? S Sep09 0:02 /usr/sbin/apache2 -k start www-data 25610 0.0 0.4 2003664 8436 ? SL Sep09 0:37 /usr/sbin/apache2 -k start www-data 25611 0.0 0.4 2003788 8584 ? SL Sep09 0:36 /usr/sbin/apache2 -k start www-data 25700 0.0 0.4 2003648 8528 ? SL Sep09 0:36 /usr/sbin/apache2 -k start
您可以看到该服务由root和运行www-data。Apacheroot仅使用该进程绑定到端口 80(或您配置的任何端口)。回想一下,绑定到端口 < 1024 要求您是 root。
但是,为了安全起见,Apache 将所有请求处理交给以www-data. 这些进程可以访问什么取决于您。如果您的文档根目录中的文件权限不允许www-data访问这些文件,Apache 将无法为它们提供服务。
这对于任何服务都是一样的;通常他们有
root(如果它们必须绑定到 <1024 的端口;但并非所有服务都有root进程)将任务委派给低权限用户bind对于 BIND、www-dataApache、proftpdproftpd 等)。请记住,它们的名称因系统而异(Apache 有时作为apache或apache2代替运行www-data)。但是,某些进程nobody以特定用户的身份而不是特定用户身份运行。这可能是一个坏主意,但这取决于过程和它在做什么。
这些只是一般规则;某些进程甚至完全以 root 身份运行(例如sshd,尽管在有人连接时它会使用用户进程)。用ps aux看到一个进程运行哪些用户。
| 归档时间: |
|
| 查看次数: |
27735 次 |
| 最近记录: |