服务器-运行一个程序,允许它仅在特定目录上写入

服务器-运行一个程序,允许它仅在特定目录上写入

我是一名 Web 开发人员,我需要在我的服务器上运行一些第三方程序。由于这些程序第三者而且我并不总是 100% 确信它们的可靠性,我会以特定权限运行这些程序。由于这些程序需要将文件写入磁盘,因此我想设置权限以拒绝访问整个硬盘(我甚至不想只读),除了这些程序将写入的一个目录。我认为实现此目的的最简单方法是:

  • 创建“第三方”组
  • 创建用户“第三方用户”
  • 拒绝“第三方”组访问整个硬盘(即使不是只读)
  • 允许读写/var/example/thirdparties
  • 将“第三方用户”设置为我必须运行的程序的所有者
  • 在“第三方用户”下编写一个 cronjob 来在启动时启动程序(类似于@reboot sh /var/example/thirdparties/run-all-thirdparties-programs.sh

我的问题是..从技术角度来说,我如何创建这些组/用户并设置权限?如果我运行特定用户拥有的程序,该程序是否会从其所有者组/用户继承权限? 我对 Ubuntu Server 还很陌生。

另外...如果有人有更好的想法来实现我的目标,我会洗耳恭听 :) 谢谢

答案1

Linux 中的标准权限系统不能很好地支持您描述的用例(例如“拒绝访问整个硬盘”)。更好的方法是尝试使用chrootdocker,以确保程序在与主系统隔离的环境中运行。

相关内容