我用JAVA写了个大包上传的程序,调用程序可以在本地上传到FTP服务器上,但是传上去之后TAR包的权限变了,只有640权限,但是上传非TAR包的文件权限是664,为什么?求大神指导LinuxJavaFTP服务器

解决方案 »

  1.   

    补充:这个tar包用服务器的另一个用户不能解压,怎么才能给这个TAR包附上664的权限?
      

  2.   

    这个似乎是创建用户设置的默认值吧,创建的文件权限会一样的
    试试建一个shell,上传完文件,执行这个shell,进行修改权限的操作。
      

  3.   

    sDate='date -d yesterday +%Y%m%d'
     export sDate
     
    ftp -n 196.0.0.15<<EOF >>Ftp.log
     user root root
     prompt
     bin
     cd /home/ftpput/recv/STD/CM
     chmod 776 !{sDate}_809.tar
     close
     bye
     EOF
     
    这个shell文件中,sDate时间参数不能识别,为什么? 
      

  4.   

    在服务器上看下umask是多少,这个值决定了用户新建文件的权限。另外新建一个文件看看权限是否是640?命令中,执行ftp -n 196.0.0.15后,就处于ftp的环境中,不是shell环境了:
    一个简答的例子,你的ls命令就执行不了,就要用dir命令。所以你的 chmod 776 !{sDate}_809.tar应该不仅是sDate不识别,chmod应该也不能识别吧?