Chinaunix首页 | 论坛 | 博客
  • 博客访问: 891303
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1841
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-09 16:26
文章分类

全部博文(286)

文章存档

2016年(38)

2015年(248)

我的朋友

分类: 嵌入式

2015-05-11 20:14:10

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。


 三、修改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设置的原因。
阅读(1214) | 评论(0) | 转发(0) |
0

上一篇:samba工作原理

下一篇:openwrt挂载fat32

给主人留下些什么吧!~~