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服务
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服务
相关文章推荐
- 调用OpenSSL实现数字签名功能例程(一)
- option联动
- ElasticSearch实战-日志监控平台
- linux 中端口转发问题
- 菜鸟学linux之三Linux系统的远程登陆
- 关于OPENSSL在WINDOWS下编译和使用的坑
- Linux下操作文件目录
- linux下邮件发送
- Ubuntu 16.04安装使用Docker
- 【Linux】系统服务
- tomact配置文件启动方式
- Apache 虚拟主机设置
- 菜鸟学linux之二<忘记root密码怎么办>
- linux下开启mysql 慢查询,分析查询语句
- AB(apache benchmark)压力测试
- Nginx中502和504错误详解
- 电商网站的初期技术选型【转】
- VS2012发布网站详细步骤
- Nginx提示502和504错误的终极解决方案
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法