【发布时间】:2018-08-03 08:24:18
【问题描述】:
目标
我希望每当有人在 /opt/file/incoming 目录中上传文件(名称为 Accounts 0998.csv)时。它的权限更改为 chmod 664 即 rw-rw-r 我正在使用 linux。
我想自动化这个过程,所以我正在编写一个 java 程序,但它可以工作
package com.reader.file;
import java.io.File;
import java.io.IOException;
public class GrantPermission
{
public static void main( String[] args )
{
try {
File file = new File("/opt/file/Accounts 0998.csv");
if(file.exists()){
System.out.println("File exists.");
//using PosixFilePermission to set file permissions 664
Set<PosixFilePermission> perms = new
HashSet<PosixFilePermission>();
//add owners permission
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
//add group permissions
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
//add others permissions
perms.add(PosixFilePermission.OTHERS_READ);
Files.setPosixFilePermissions(file.toPath(), perms);
} catch (IOException e) {
e.printStackTrace();
}
}
else{
System.out.println("File does not exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
其他信息
我正在使用 WSO2 ESB,它首先搜索一个文件,然后如果文件存在,那么我想更改它的权限(通过使用 Class mediator ie JAVA),然后将它移动到另一个目录,但我的目标将文件权限更改为 rw-rw-r
【问题讨论】:
-
“每当有人上传文件”:这是怎么做到的?默认文件权限取决于上传过程的umask设置。
-
这是什么意思?上传过程的umask设置。在linux中,我有一个用户名“fileuploader”当我从fileuploader上传文件时,默认权限是rw-r-r,但我想要rw-rw-r并且我想自动化这个过程。
-
我的意思是,比更正权限更好的是,确保在创建文件时正确设置它们。 askubuntu.com/questions/44542/…
-
我不是在创建我正在上传文件。此链接是否仍然有效?
-
我不明白您所说的“上传”是什么意思。某些进程必须通过网络接受文件并在磁盘上创建它。
标签: java linux wso2 wso2esb file-permissions