如何使用SBT Native Package在debian包中设置用户和组?

时间:2015-09-03 10:47:43

标签: debian sbt sbt-native-packager

我有一个Scala / Play项目,我使用SBT Native Packager Plugin 0.6.4 来创建一个debian包。默认情况下,所有文件都是使用root用户/组创建的。我怎样才能改变它?

这是我在build.sbt尝试的内容:

import com.typesafe.sbt.SbtNativePackager._
import com.typesafe.sbt.packager.Keys._

linuxPackageMappings in Debian <+= (version) map { (version) =>
  val tmp = IO.createTemporaryDirectory
  val tmpLog = tmp / "my-app" / "my-app.log"
  IO.write(tmpLog, "")
  packageMapping(tmpLog -> "/var/log/my-app/my-app.log") withUser "appuser" withGroup "appuser"
}

linuxPackageMappings <<= linuxPackageMappings map { mappings =>
  mappings map { linuxPackage =>
    linuxPackage.copy(
      fileData = linuxPackage.fileData.copy(
        user = "appuser",
        group = "appuser"
      )
    )
  }
}

但是,在生成的debian包中(运行sbt clean debian:package-bin之后),所有文件都归root所有。用户appuser存在于我的系统中。看起来SBT Native Packager忽略了将用户和组设置为特定的一般映射。

我做错了什么?

0 个答案:

没有答案