公司内U盘不能写入的解决方案

一、背景

因为安全原因,公司的电脑安装了安全软件,开启启动后就把U盘写权限关闭了,博主长期挂载移动硬盘使用,对日常使用造成很大困扰。本文提供两种思路,可实现公司内电脑U盘的读写。

注:本文只针对windows。

二、方法1:手动修改本地组策略

点击windows键,输入gpedit.msc,打开本地组策略编辑器,依次找到:计算机配置--> 管理模板 --> 系统 --> 可移动存储访问。找到:可移动磁盘:拒绝写入权限,如果是已开启状态,则编辑改为未配置或已禁用即可实现U盘写入。如果还是不行,把U盘拔掉重新插入即可。

公司内U盘不能写入的解决方案

 

三、方法2:虚拟器映射smb远程访问

上面方法1对于临时写入够用了, 如果想挂载U盘或移动硬盘长期使用,每次开机启动都要重新配置一遍,很是麻烦。由于公司内安全软件是管理员权限开启启动,不能阻止它将本地组策略中的可移动磁盘:拒绝写入权限给开启。那有什么办法可以绕过这个权限呢?

答案就是虚拟机,开机启动时把U盘挂载到虚拟中,然后共享samba给宿主机,开启读写权限,宿主机就可以正常读写U盘中的内容了。

博主安装的是VirtualBox虚拟机。第一步当然是安装软件及系统,推荐安装debian最小镜像,因为这个镜像包小而且安全性高。操作习惯和Ubuntu一样,详细安装过程及网络配置请参考其他文档。

1、安装VirtualBox扩展,启用USB3.0支持。

默认VirtualBox是不支持USB3.0的,需要安装扩展才能支持。

下载官网链接: https://www.virtualbox.org/wiki/Downloads

详细下载教程请参考:https://blog.csdn.net/qzhn_/article/details/86365917

安装扩展包教程参考:https://jingyan.baidu.com/article/3052f5a1b2dd39d6f21f862d.html

安装完成,打开虚拟机USB设备配置,出现USB3.0即表示安装成功

公司内U盘不能写入的解决方案

2、挂载U盘到虚拟机

虚拟机关机,打开配置,按以下步骤添加USB设备,USB控制器选择USB3.0。

公司内U盘不能写入的解决方案

启动虚拟机,输入命令:

 sudo fdisk -l

出现硬盘即为映射成功,记住红框中的Device名称

公司内U盘不能写入的解决方案

3、配置虚拟机启动挂载

默认硬盘是不会自动挂载的,通过以下步骤配置开机自动挂载。

(1)安装驱动:

 sudo apt-get install ntfs-3g

(2) 编辑/etc/fstab, 再末尾加入如下内容就可以了,以下是我的配置

 /dev/sdb1       /mnt/move       ntfs-3g defaults,locale=zh_CN.UTF-8     0       0

重启虚拟机,查看/mnt/move目录,看是不是正确列出U盘中的文件。

3、配置samba

Linux中安装samba配置项很多,一不小心就配置不对,这里推荐使用docker安装samba,我使用是的这个image:https://github.com/dperson/samba

(1)安装docker,推荐使用国内daocloud一键安装命令:

 curl -sSL https://get.daocloud.io/docker | sh

(2)docker启动samba,并支持开机启动:

 sudo docker run -d \
    --name samba \
    --restart unless-stopped \
    -p 139:139 \
    -p 445:445 \
    -v /mnt/move:/mount \
    -d dperson/samba \
    -u "youusername;yourpassword" \
    -s "移动硬盘;/mount/;yes;no;no;all;yourusername"

将命令中的用户名密码改成你自己的,执行启动,在宿主机的文件资源管理器中输入,192.168.56.101是我的虚拟机ip,查看自己的虚拟机ip使用命令:sudo ifconfig

 \\192.168.56.101

提示出入用户名、密码。输入正确后进入弹出我们移动硬盘表示配置成功。

公司内U盘不能写入的解决方案

然后可以右键“移动硬盘”,映射网络驱动器,即可当成本地磁盘使用。

4、配置虚拟机开机启动

右击VirtualBox中的虚拟机,点击创建桌面快捷方式。

公司内U盘不能写入的解决方案

打开桌面,右击快捷方式,点最下面的属性,编辑“目标”栏,配置成headless模式。即不打开VirtualBox,直接*面启动虚拟机。将下面中VirtualBox路径和虚拟机ID改成你自己的,并保存。

 "D:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "{7a1f224f-af3f-4850-bc39-20f76d83db83}" --type headless

最后一步,将此快捷方式移动到,即可开启启动虚拟机。

 C:\Users\<your name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

四、总结

本文提供了两种解决公司内U盘不能写入的方法,第一种适合临时使用,第二种适合长期挂载U盘使用。你还有什么更好的方法吗,欢迎讨论。

 

本文作者:木小丰,美团Java高级工程师,不定期分享软件研发过程中的实践、思考。

博客链接:https://lesofn.com/archives/jie-jue-gong-si-nei-u-pan-bu-neng-xie-ru-de-wen-ti

公共号:Java研发

 

上一篇:【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)


下一篇:CentOS7 使用minikube 搭建kubernetes 学习环境