在openwrt中如何设置samba共享时必须输入用户名和密码,并删除自动共享autosamba

一般,在openwrt或者linux的nas中,都采用guest访问,不需要输入用户和密码。但win10以后,一般都不能直接访问无密码的共享文件夹,需要更改组策略的LANMAN,不太安全。
所以还是让盒子开启用户密码登录为好。

基础

目前一般都用samba4在linux中实现共享文件夹。
samba默认使用自己的密码管理,和linux本身密码管理分开,这样便于管理员更好管理系统权限。但samba用户必须是系统用户。
所以,思路是:
1.在系统中创建一个用户,设置密码(是系统密码,不是共享密码)。
2.在samba中把该用户加入,并设置共享密码。
3.配置samba共享文件夹,包括权限等。

操作注意事项

1.一般用groupadd和useradd增加组和用户,当然直接用useradd后自动分配一个组的。但openwrt没有这两个命令。可以直接编辑/etc/passwd文件,在最后增加一行:

newuser:x:2000:2000:New User:/home/newuser:/bin/ash

非系统用户的id应该是1000以上,所以用户和组id都用的是2000.
vi的操作请查网上。
2.用passwd命令给新用户设置密码:passwd newuser
3.用smbpasswd命令增加samba共享用户并设置密码:smbpasswd -a newuser
4.编辑samba配置文件。一般linux直接编辑/etc/samba/smb.conf就可以。
但openwrt的smb.conf生成靠两个文件:/etc/samba/smb.conf.template和/etc/config/samba4组合生成,
smb.conf.template是smb.conf的[global]部分,
samba4是luci图形界面配置的共享文件夹部分。
5.关键:其中smb.conf.template中,需要将[global]部分中
map to guest = Bad User改成:
map to guest = never
否则windows无法出现输入用户名和密码的界面,直接告诉你组不允许不安全用户,不允许访问。
6.samba4可以通过luci的图形界面调整。但也可以手动更改。

config sambashare
        option auto '1'
        option read_only 'no'		//一定设置成no,否则就只读了。
        option create_mask '0666'	//这个设置文件没有执行权-rw-rw-rw-,都没有x。
        option dir_mask '0777'	//全部操作,目录能打开。
        option device 'shared'	//看到的共享名称
        option inherit_owner 'yes'   //新建文件拥有者都是sdb1的拥有者
        option name 'myshare'
        option path '/mnt/sda1/myshare'		//共享的真实目录
        option users 'newuser'		//指定共享给谁

7.还一个很重要的事情:删除autosamba软件包,否则插入usb硬盘后,将会自动将自动挂载的硬盘进行无密码共享(有点拗口)。比如自动挂载会将usb硬盘/dev/sda1挂载到/mnt/sda1(这个automount还是挺好的),然后这个autosamba就会自动无密码共享/mnt/sda1,很烦人。
这个软件包的一个配置脚本是/etc/hotplug.d/block/20-smb。
8.重启samba,openwrt中用service samba4 restart或。
反正两种重启方式,一种是systemctl,一种是/etc/init.d/。
再不行就重启路由器了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值