如果我想将上传的文件保存在'/usr/本地';使用我的grails应用程序,我需要授予权限吗?

如果我想将上传的文件保存在'/usr/本地';使用我的grails应用程序,我需要授予权限吗?,grails,Grails,我有一个应用程序可以将上传的文件移动到我驱动器中的某个位置,如下所示: def storagePathDirectory = new File(destinationPath) if(!storagePathDirectory.exists()) { log.info("Storage Path Directory does not exist. Creating a new directory: ${storagePathDirectory.toStr

我有一个应用程序可以将上传的文件移动到我驱动器中的某个位置,如下所示:

def storagePathDirectory = new File(destinationPath)

        if(!storagePathDirectory.exists()) {
            log.info("Storage Path Directory does not exist. Creating a new directory: ${storagePathDirectory.toString()} ...")
            if (storagePathDirectory.mkdirs()){
                log.info("Successfully created: ${storagePathDirectory.toString()}")
            } else {
                log.info("Failed to create: ${storagePathDirectory.toString()}...")
            }
        }

我想保存在
/usr/local/something/something
下。如果应用程序尝试将文件移动到不受限制的文件夹(如
/home/user/something
)中,效果会非常好。我是否需要为我的应用设置权限,以便它可以在
/usr/
下写入文件?如何使用grails实现这一点?

在我看来,问题在于操作系统权限

您必须使用:

chmod-R 777/usr/local/something/something


这可能很好,但从安全角度来看这是不合理的

你是对的,你需要在主机操作系统上向目标方向授予权限。这些权限应尽可能严格。允许对运行Tomcat(或用于运行WAR的任何容器)的帐户进行读写操作

您将遇到的问题通常是/usr/不允许该帐户访问它。因此,应用程序本身无法更改权限。这必须由服务器管理员完成


再次强调,对您的权限进行尽可能严格的限制。不要简单地为每个人使用chmod-r777。请至少考虑770。

你认为<代码> SUDO CHON-R$(WHAMI)/URS/本地/某物< /代码>是否足够好?我试过了,效果很好,但不确定限制是否足够。我建议您查看一下这样做时授予的权限。我怀疑它会“足够好”。(ls-l)