在这里不对临时修改权限做描述,可以在网上找到很多例子。我这里只对如何修改永久性默认权限做出描
问题:最近在java程序向linux磁盘中上传文件时,文件权限过小,导致其他组的用户无法下载
解决方法:
1.永久修改默认权限
编辑文件/etc/profile 可以在整个系统中生效
[root@localhost tmp]# vim /etc/profile
找到如下代码,不算第一位的特殊权限
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 //表示uid大于等于199的默认umask值,表示普通用户
else
umask 022 //表示uid小于199的默认umask值,表示root
fi
修改后需要重新读取一下/etc/profile 才能生效
[root@lewis ~]# source /etc/profile
做完第一步可以偿试用程序向linux磁盘中上传文件,如果上传后的文确实比之前权限大了,那就说明有效,如果权限没有变化,就要用第二个步骤
2.修改程序服务器启动文件
1)如果是部署在tomcat服务上需要修改catalina.sh
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027" //将此数据改为0022
fi
umask $UMASK
2)如果是部署在weblogic服务上需要修改startWeblogic.sh
找到startWeblogic.sh,增加umask 022,如果文件中有此命令,只需要改成 umask 022 即可,然后重启应用
经过以上两个步骤,基本上可以解决修改永久性默认权限问题。