linux权限相关问题

LINUX权限相关问题

我在1号linux机器上写的install.sh脚本权限是755见下图

img

将其下载到本地windows后上传至2号linux服务器,install.sh权限变为644见下图

img


请问在这个是因为linux对上传的文件和文件夹会赋予默认权限是么?如果想避免这个问题该如何处理?谢谢

权限变了很正常
当你将一个文件从一台linux直接拷贝到另一台linux时,它的权限结构也一并被拷贝过来了,权限就不会变
而windows和linux的文件结构完全不一样,它没有权限那一套东西
所以你拷贝的只是文件本身,并没有将权限一并拷贝
当你再将windows下的文件拷贝到linux上的时候,它会补足一个默认的权限,相当于你新建一个文件时会有个默认权限
默认权限设置在umask文件里,这跟你登录用户、用户组、还有把文件拷贝到哪个文件夹里都是相关的

对,有默认权限,默认权限的设置在 umask 那里
例如,一般默认的umask 是0022,所以,你上传的文件默认权限就是 644 了(因为是反掩码的计算理解)
具体,你可以参考博客进行学习:https://blog.csdn.net/yangzhengquan19/article/details/83055686
理解好原理后,就可以根据具体情况进行设置,但建议,别使用过大的权限。


若有所帮助,望采纳答案支持。继续加油

linux对上传的文件是有默认权限的,使用umask命令查看默认权限
解决办法:
1.修改默认权限 在/etc/bashrc(所有用户生效)或者~/.bashrc(当前用户生效) 结尾加一句 umask 0400 数字可根据自己需要修改 ---不推荐
2.使用scp命令可以带权限一块copy --推荐