基本步骤为安装samba-server 和配置2个步骤。
0x01
安装samba服务端
opkg install samba36-server
只要顺利一般这一行命令就安装完毕,如果找不到该包,需要先update一下
-
opkg update
-
opkg install samba36-server
这个命令安装的是samba的3.6版本,如果将来版本升级可能会找不到该包,则先查看opkg软件源是哪个版本
-
opkg update
-
opkg list | grep samba
0x02
配置文件为/etc/samba/smb.conf.template
有文章说配置的是/etc/samba/smb.conf 但是在openwrt下,samba服务重启,该文件就被重置了。
vi /etc/samba/smb.conf.template
首先注释掉[global]下的invalid users = root 这行,如果不注释掉则拒绝root用户登录。
#invalid users = root
接着就是增加共享目录,例子如下:
[etc]
path = /etc
valid users = root
guest ok = no
admin users = root
#意思是建立一个名叫做“etc”的共享目录,目录的位置是/etc ,允许root用户登录,拒绝游客。
配置完后,root用户还是没法登录,应该说samba会用系统的登录名,但是不会用系统的密码做验证,所以需要为samba设置一下密码
smbpasswd -a root
根据该命令的提示,输入root的验证密码,之后共享则使用该密码登录。
最后重启一下samba
/etc/init.d/samba restart
0x03
把以上操作做成shell脚本:
-
opkg update
-
package=`opkg list | grep samba36-server | awk '{print $1}'`
-
opkg install $package
-
sed -i '/invalid users/s/invalid/#invalid/g' /etc/samba/smb.conf.template
-
(cat <<EOF
-
[etc]
-
path = /etc
-
valid users = root
-
guest ok = no
-
admin users = root
-
[tmp]
-
path = /tmp
-
valid users = root
-
guest ok = no
-
admin users = root
-
[usr]
-
path = /usr
-
valid users = root
-
guest ok = no
-
admin users = root
-
[var]
-
path = /var
-
valid users = root
-
guest ok = no
-
admin users = root
-
[www]
-
path = /www
-
valid users = root
-
guest ok = no
-
admin users = root
-
EOF
-
) >>/etc/samba/smb.conf.template
-
smbpasswd -a root
-
/etc/init.d/samba restart