如何使Hyper-V共享驱动器中的*.sh文件获得可执行权限
如何使Hyper-V共享驱动器中的*.sh文件获得可执行权限
我来帮你搞定这个Hyper-V共享盘的权限问题——你遇到的.sh文件缺x权限的情况,本质是Hyper-V默认用noexec参数挂载了共享驱动器,目的是防止误执行主机上的脚本,但确实会影响我们的使用。下面给你两种实用的解决方案:
方案一:调整挂载参数,让共享盘默认支持可执行权限
这是最彻底的方法,修改挂载选项让共享盘挂载时就带上执行权限:
先卸载当前的共享挂载:
先找到你的共享盘在Ubuntu里的挂载点(比如/mnt/hv_d_share),然后执行卸载命令:sudo umount /mnt/hv_d_share重新挂载并添加可执行参数:
用cifs协议重新挂载,加上exec、file_mode=0755和dir_mode=0755参数,这样所有文件和目录都会默认拥有可执行权限:sudo mount -t cifs //你的主机名/D$ /mnt/hv_d_share -o username=你的主机用户名,password=你的主机密码,exec,file_mode=0755,dir_mode=0755注意把命令里的
你的主机名、你的主机用户名、你的主机密码替换成实际信息,挂载点也要对应你自己的路径。设置永久生效(可选):
如果不想每次重启都重新挂载,可以编辑/etc/fstab文件添加挂载配置:sudo nano /etc/fstab在文件末尾添加一行:
//你的主机名/D$ /mnt/hv_d_share cifs username=你的主机用户名,password=你的主机密码,exec,file_mode=0755,dir_mode=0755 0 0保存退出后,执行
sudo mount -a就能让配置立即生效,以后开机自动挂载。
方案二:手动给单个/批量.sh文件添加可执行权限
如果只是临时需要给部分.sh文件加权限,可以直接用chmod命令:
sudo chmod +x /mnt/hv_d_share/*.sh
不过要注意:这种方法是临时的,如果你重新挂载共享盘或者重启虚拟机,权限可能会被重置,所以更推荐方案一。
备注:内容来源于stack exchange,提问作者stackbiz
相关产品推荐
相关产品推荐

