如何阻止Visual Studio 2019修改Linux服务器文件的chmod权限?
以下是几种可行的解决方法:
配置Visual Studio远程连接的默认权限
打开VS2019,依次进入「工具」→「选项」→「跨平台」→「连接管理器」,选中你的Linux服务器连接后点击「修改」。在弹出的配置窗口中,找到「文件权限」相关设置,将默认权限手动指定为644,并关闭自动调整权限的选项(部分版本的该选项在「高级」标签页下)。修改Linux服务器的umask默认值
登录目标Linux服务器,编辑用户主目录下的.bashrc或.profile文件,添加一行:umask 022。文件的默认权限由666 - umask计算得出,umask 022会让新保存的文件默认权限为644,刚好符合需求。修改后执行source ~/.bashrc使设置立即生效,或重新登录服务器。使用Linux文件属性锁定权限
针对特定不需要频繁修改的cpp文件,可以用chattr +i filename.cpp设置不可修改属性,阻止任何程序修改文件权限。需要编辑文件时,先执行chattr -i filename.cpp解除锁定,编辑完成后再重新添加锁定。
若需要更灵活的权限控制,可使用setfacl命令:setfacl -m u:你的VS远程登录用户名:rw- filename.cpp,强制限定该用户对文件的读写权限,避免权限被意外提升。排查VS插件与版本问题
如果你安装了第三方跨平台开发插件,尝试禁用后测试是否还会出现权限变更问题。同时确保VS2019更新到最新稳定版本,微软后续的补丁可能修复了这类权限异常的bug。
内容的提问来源于stack exchange,提问作者cameradevnew

