Loading... ### 概述: 最近用n1刷了个小钢炮,准备用作下载机和syncthing同步,但是限于 n1 只有 usb2.0 口,准备从其他机器上本地共享一下硬盘,通过网线传输加速,本来以为是很简单一条命令的事情,但是遇到的各种问题愣是搞了两天才搞定。 n1本质是还是linux,固件是从一个很精简的 linux 底层 DIY 过来的,所以理应用 mount 挂载一下就行,问题就是 mount 挂载 samba 的 share 后,本地除了 root 用户是没有读写权限的,虽然能在某些程序下看到目录,但是无法上传或者修改文件,下面是一些解决办法。 ### mount命令: ``` mount -t type -o username=root,password=123456 device dir ``` 主要用到两个参数 -t 指定挂载文件系统的类型,例如挂载 samba 时,可以指定为 cifs 类型 ; -o 指定认证用户名以及密码,如果允许匿名访问可以不需要指定; 其他参数可以阅读 mount --help 的说明 **以下方法由简到繁,安全性由低到高** ### 方法一:客户端修改 #####mount在挂载时 -o 参数还可以指定哪些用户或用户组可以访问 例如:-o uid=1001,gid=1001 uid 就是 linux 里面一个用户的特定 id 是唯一的,uid 是一个用户组的特定 id 也是唯一的,-o 参数可以全部指定,也可以指定其中某一项,例如我需要 test group 这个组内的所有账户都可以访问挂载后的文件夹,那么 只需要 -o gid=test(id) 即可。 **注意** 这不是单纯的修改一下文件夹的权限就可以完成的,即使将挂载后的目录权限设置为777也是无法访问,必须用 mount 命令的 -o 参数指定。 如果本地用户很多,那可以将需要这个权限的用户放到一个 group 内指定一下就行,这事儿就算完了。 但是!!但是!!n1小钢炮这么一个DIY固件用的是 busybox 库内的命令,useradd 貌似是没用的?还是我姿势不对,我也懒得去仔细研究 busybox 是啥了,所以出现了下面这些办法。 ###方法二:服务端修改 ##### 1.在相对安全的内网环境下,服务端可以允许 share 目录匿名访问 如果在服务端配置了全匿名访问,那就当然没有用户权限限制了。 但是在我的本地情况下,我也不想全匿名开放,毕竟如果有客人进来要求连一下 wifi 那么所有文件都暴露无疑了(虽然我家并没有客人来) ##### 2.完全按照 samba 的本意来 samba的出现就是讲究高安全性内网分享的,相对,配置也非常麻烦。 大致意思就是:samba 的访问权限是由客户端和服务端最高权限的交集决定的; 例如我需要本地的 admin 这个用户能访问挂载后的目录,那在本地需要将 admin 拉进 samba 的用户数据库内,在服务端也必须存在 admin 这个 samba 用户并配置允许访问,And,admin 这个用户在 linux 系统层面 uid 还必须相同(客户端uid=服务端uid)。(如果我没理解错就是这意思) **备注** samba的用户必须要在 linux 系统已经存在才能创建,创建一个 samba 用户实际上也是创建了一个 linux 用户,但是 samba 用户的密码是独立储存在 samba 数据库内的,和 linux 系统已经存在的用户密码不共用。 可参考:[关于Linux上SAMBA服务的权限问题(普通挂载)-简书](https://www.jianshu.com/p/2ff37567f31d) ### 方法三:所以我采用 nfs 大概了解了一下 nfs,据说传输效率要比 samba 高,关键这玩意配置简单,只需要安装好服务端,然后编辑 /etc/exports 配置一下就行,具体方法就自行查找文档吧。 一、我的openwrt 直接在软件中心安装nfs就行了(图形化的好像安装不上,所以只安装了一个服务端,用 ssh 连接上路由器配置一下就行了) ```shell #/etc/exports 我的配置 /mnt/sda2 192.168.1.0/24(rw,no_all_squash,insecure,sync) ``` 二、如何判断:路由器 nfs是否挂载成功,可以在N1的SSH中 输入命令:showmount -e 192.168.1.1 (192.168.1.1 是路由器 ip 地址) 返回命令如下: Export list for 192.168.1.1: /tmp/mnt/sda2/song * /tmp/mnt/sda2/moive * /tmp/mnt/sda1 * 即表示:成功。 三、n1小钢炮设置:在管理界面-system-Startup-Local Startup 中输入 mkdir /media/nfs1 mount -t nfs 192.168.1.1:/tmp/mnt/sda1 /media/nfs1 chmod 777 /media/nfs1 不过 samba 也是一神器,我用它分享了一个 media 目录给 TV 盒子,TV盒子自带的文件浏览器是原生支持 samba 的,所以省去了 盒子上安装 es文件浏览器 那个app(毕竟用遥控器是真难操作)(:再一次吹爆联通! 参见上一篇[机顶盒贝尔S-010W-A破解](https://wuyn.net/2019/02/16/12.html) ### 总结 绳命不息,折腾后不止,希望能继续保持这股热情劲吧。 20190525更新挂载具体步骤 Last modification:May 25th, 2019 at 10:05 pm © 允许规范转载