实现Samba共享文件夹

目标

实现其它局域网内计算机系统能够自由的访问树莓派下的共享目录。

作业概况

[code lang=text]
树莓派(由debian改成)和 CentOS 7
测试机为ubuntu14.04 和 windows7
[/code]

实现流程

在树莓派上安装samba

samba有旧版和新版之分,本次示例中只有新版本。

[code lang=shell]
$ sudo apt-get install samba
$ sudo apt-get install smbclient
[/code]

建立共享文件夹

[code lang=shell]
$ mkdir ~/share
$ chmod 777 ~/share
[/code]

修改samba配置文件

[code lang=shell]
$ cd /etc/samba/
$ sudo cp smb.conf smb.conf_backup
$ sudo vi smb.conf
[/code]

在[global]下面添加

[code lang=text]
security = user
map to guest = Bad User
[/code]

而在share deefinitions下配置

[code lang=text]
[share]
comment = share
path = /home/username/share
public = yes
writable = yes
browseable = yes
available = yes
guest ok = yes
[/code]

对于个人文件夹(即个人使用,需要帐号和密码),采用以下配置:

[code lang=text]
[persondoc]
comment = personal doc
path = /home/username #共享文件夹路径
create mask = 0700 #共享文件夹权限
writable = yes #是否可写
browseable = yes #是否可读
valid users = username  #共享文件夹用户
[/code]

保存退出
SHARE文件夹只要保证文件夹的权限可读可写即可,而个人用户还要添加用户并添加密码,操作如下:

[code lang=shell]
# smbpasswd -a username
# smbpasswd username
[/code]

username必须为计算机现有用户,该密码具有独立性,不和ssh等登陆密码相同。

测试samba配置文件语法

[code lang=shell]
$ testparm
[/code]

返回内容不报错即可。

重启并测式samba服务

[code lang=shell]
$ sudo /etc/init.d/smbd restart
$ sudo service smbda restart
$ smbclient -L //localhost/share
[/code]

如果没有报错,那么就算成功了。

测试机连接samba

打开ubuntu的文件管理器,点击Network下的connect to Server,在Server Address下填入:

[code lang=text]
smb://interIP/
[/code]

然后连接即可。其中interIP就是树莓派的内网IP。
对于windows7用户,则只需要在文件管理器的地址栏填入:

[code lang=text]
\\interIP
[/code]

随机启动

[code lang=text]
$ sudo chkconfig smb on
$ sudo systemctl enable smb.service #centos 7
[/code]

IPtables 配置

[code lang=text]
$ sudo iptables -I INPUT -p udp –dport 137 -j ACCEPT
$ sudo iptables -I INPUT -p udp –dport 138 -j ACCEPT
$ sudo iptables -I INPUT -p tcp –dport 139 -j ACCEPT
$ sudo iptables -I INPUT -p tcp –dport 445 -j ACCEPT
[/code]

保存配置

[code lang=text]
$ iptables-save > /etc/sysconfig/iptables #保存配置信息
$ iptables-restore /etc/sysconfig/iptables #恢复配置信息
[/code]

出现权限不足的问题请用root用户。

注意

  1. 对于CentOS系统来说,要关闭SELinux,从而可以实现文件可写.
此条目发表在LINUX分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据