当前位置: 技术问答>linux和unix
java创建的文件夹的权限问题!
来源: 互联网 发布时间:2017-02-27
本文导语: 服务器配置环境是:CentOS5.0+Apache2+jakarta-tomcat-connectors-1.2.13+tomcat6+php5+jdk1.6.0_12+MySQL5。 经历:我的php里新建一个文件夹php_datas的时候他的属性是755,所属用户组是daemon,所属用户是daemon,我通过vsftpd的一个账号test(所...
服务器配置环境是:CentOS5.0+Apache2+jakarta-tomcat-connectors-1.2.13+tomcat6+php5+jdk1.6.0_12+MySQL5。
经历:我的php里新建一个文件夹php_datas的时候他的属性是755,所属用户组是daemon,所属用户是daemon,我通过vsftpd的一个账号test(所属用户组也是daemon)想上传一个文件到刚才用php新建立的文件夹php_datas的时候是没有权限写入的,后来我在apache2里的配置文件envvars里加入一行umask 007,这样的话php建立的文件夹的属性就会变成770了(同组用户可以写入了)或者是在php里创建文件夹的时候先加入一行代码umask(007),也能达到同样的效果。
问题:现在的情况是我用java新建立的一个文件夹java_datas,这个文件夹的所属用户组是root,所属用户也是root(这个root会不会是我安装jdk的时候用root操作所致呢?),这样用java建立的这样的一个文件夹根本就没法用vsftpd的账号来写入了(因为我不可能把vsftpd的账号的组弄成root组吧,这样不安全),1.我想java创建的文件夹所对应的用户能不能指定(php创建文件的用户是可以在apache2的里配置文件envvars里:export APACHE_RUN_USER=daemon export APACHE_RUN_GROUP=daemon来指定的);2.能不能像php一样通过在apache2里的配置文件envvars里设置umask的值来指定php创建文件夹的权限的掩码;3.php里是能通过umask(007);mkdir("php_datas")达到在配置文件envvars里设置umask 007的效果的,那java能实现吗?
经历:我的php里新建一个文件夹php_datas的时候他的属性是755,所属用户组是daemon,所属用户是daemon,我通过vsftpd的一个账号test(所属用户组也是daemon)想上传一个文件到刚才用php新建立的文件夹php_datas的时候是没有权限写入的,后来我在apache2里的配置文件envvars里加入一行umask 007,这样的话php建立的文件夹的属性就会变成770了(同组用户可以写入了)或者是在php里创建文件夹的时候先加入一行代码umask(007),也能达到同样的效果。
问题:现在的情况是我用java新建立的一个文件夹java_datas,这个文件夹的所属用户组是root,所属用户也是root(这个root会不会是我安装jdk的时候用root操作所致呢?),这样用java建立的这样的一个文件夹根本就没法用vsftpd的账号来写入了(因为我不可能把vsftpd的账号的组弄成root组吧,这样不安全),1.我想java创建的文件夹所对应的用户能不能指定(php创建文件的用户是可以在apache2的里配置文件envvars里:export APACHE_RUN_USER=daemon export APACHE_RUN_GROUP=daemon来指定的);2.能不能像php一样通过在apache2里的配置文件envvars里设置umask的值来指定php创建文件夹的权限的掩码;3.php里是能通过umask(007);mkdir("php_datas")达到在配置文件envvars里设置umask 007的效果的,那java能实现吗?
|
你直接daemon用户的身份来启动tomcat试试啊 反正tomcat用的是8080端口
su - daemon -c '/usr/local/tomcat/bin/startup.sh'
su - daemon -c '/usr/local/tomcat/bin/startup.sh'
|
恩,有道理