您的位置:首页 > 运维架构

openwrt下的samba设置

2016-06-03 14:38 453 查看
转自 http://ctyfrank.blog.163.com/blog/static/37543679201403111228750/

openwrt下samba设置起作用的机制是这样的:
openwrt在/etc/config/下面有一个samba的设置,注意:这个设置不符合samba软件本身的设置文件规范。openwr启动时,会用这个设置去替换掉相应的模板里的字段,生成一个符合samba设置文件规范的文件放到/tmp目录下。

设置非常简单,三步,一是设置/etc/config/samba,二是设置用smbpasswd设置密码,三是修改samba模板。

一、设置/etc/config/samba

设置前:

config samba
        option
'name'                        'openwrt'
        option
'workgroup'                'openwrt'
        option
'description'        'openwrt'
        option
'homes'                         '1'
                
config sambashare
        option
'name'                        'tmp'
        option
'path'                        '/tmp'
        option
'read_only'                'no'
        option
'guest_ok'                'no'
        option
'create_mask'        '0700'
        option
'dir_mask'                '0700'
        #option
'users'                        'abc'

设置后:

config samba
        option
'name'                        'openwrt'
        option
'workgroup'                'openwrt'
        option
'description'        'openwrt'
        option
'homes'                         '1'
                
config sambashare
        option
'name'                        'home'共享目录名
        option
'path'                        '/home'要共享的目录
        option
'read_only'                'no'
        option
'guest_ok'                'no'
        option
'create_mask'        '0700'
        option
'dir_mask'                '0700'
        #option
'users'                        'abc'

#我多加了一个共享目录
config sambashare
        option
'name'                        'root'
        option
'path'                        '/'
        option
'read_only'                'no'
        option
'guest_ok'                'no'
        option
'create_mask'        '0700'
        option
'dir_mask'                '0700'
        #option
'users'                        'abc'
        

二、用smbpasswd设置samba密码:
smbpasswd root XXXX
注意,这个root是用户名,用户名必须是系统里已经曾在的用户,openwrt好像只有一个root,一个nobody,两个用户?如果要添加其他用户, 可以用busybox的用户管理(adduser/deluser,需要在编译时添加此部分功能),或者直接编译/etc/passwd来添加用户,这两个我都没试过,所以,我是直接用root访问samba。

useradd -M jing  //增加用户

smbpasswd -a jing //设置用户密码

ps:命令要用类似putty的程序执行。Winscp自带的命令行貌似不行。

三、修改samba模板
/etc/samba/smb.conf.templet

设置前:
[global]
        netbios
name = |NAME| 
        workgroup
= |WORKGROUP|
        server
string = |DESCRIPTION|
        syslog
= 10
        encrypt
passwords = true
        passdb
backend = smbpasswd
        obey
pam restrictions = yes
        socket
options = TCP_NODELAY
        unix
charset = iso-....
        preferred
master = yes
        os
level = 20
        security
= user
        guest
account = nobody
        invalid
users = root
        smb
passwd file = /etc/samba/smbpasswd

设置后:
[global]
        netbios
name = |NAME| 
        workgroup
= |WORKGROUP|
        server
string = |DESCRIPTION|
        syslog
= 10
        encrypt
passwords = true
        passdb
backend = smbpasswd
        obey
pam restrictions = yes
        socket
options = TCP_NODELAY
# 设置成utf-8可解决中文问题
        unix
charset = utf-8
        preferred
master = yes
        os
level = 20
        security
= user
        guest
account = nobody
# 启用root账号,默认为了安全,不允许root访问samba
#        invalid
users = root
        smb
passwd file = /etc/samba/smbpasswd

大家可以用winscp把/etc/config/下的文件备份下来,(对samba而言,再把/etc/samba目录复制下来),刷机后,直接把备份的文件按原位置覆盖回去,重启,就OK了,这也是我渐渐习惯直接编辑配置文件,而不用web设置的原因。

最后要重启samba服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: