2017-09-29 14 views
-1
chmod 777 ./myapp 

为什么我需要在每次发布后向myapp提供chmod 777。 没有提供权限,./myapp的结果是:权限被拒绝。即使使用root用户登录。.Net Core发布的应用程序需要chmod 777权限才能在Centos7上运行

有没有其他办法可以做到这一点?

+3

无论你试图解决什么问题,给其他用户写你的程序的权限是一个严重的安全漏洞和反模式。您需要了解权限模型并授予问题所需的权限,但绝对不会有更多权限(对于脚本,通常为755,对于用户需要访问但不能读取的目录,通常为711)。 – tripleee

+2

您使用的是什么版本的.NET Core?听起来像你打https://github.com/dotnet/sdk/pull/1338 – omajid

+0

我使用.NET核心2.0和问题看起来相同。 –

回答

1

无论“发布”应用程序需要使用正确的权限编写它。你是不是向我们展示你是如何这样做,所以我们不能告诉你究竟是错的,但类似

chmod 755 myapp # only really required the first time 
scp myapp prod:/srv/myapp/ 

如果您使用的是版本控制系统如Git,权限变化是改变你需要提交以保存它。

chmod 755 myapp 
git add myapp 
git commit -m "fixed permissions" myapp 

现在每次退房都应该具有正确的权限,您可以在下次开始新项目时将其忘掉。

+0

可能是我揭示了我对.Net的完全无知 - 也许“发布”在那里有一个特定和非常精确的含义。但基本的想法可能仍然成立。 – tripleee

相关问题