实现Samba共享文件夹

目标

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

作业概况

树莓派(由debian改成)和 CentOS 7
测试机为ubuntu14.04 和 windows7

实现流程

在树莓派上安装samba

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

$ sudo apt-get install samba
$ sudo apt-get install smbclient

建立共享文件夹

$ mkdir ~/share
$ chmod 777 ~/share

修改samba配置文件

$ cd /etc/samba/
$ sudo cp smb.conf smb.conf_backup
$ sudo vi smb.conf

在[global]下面添加

    security = user
    map to guest = Bad User

而在share deefinitions下配置

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

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

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

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

# smbpasswd -a username
# smbpasswd username 

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

测试samba配置文件语法

$ testparm

返回内容不报错即可。

重启并测式samba服务

$ sudo /etc/init.d/smbd restart
$ sudo service smbda restart
$ smbclient -L //localhost/share

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

测试机连接samba

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

smb://interIP/

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

\\interIP

随机启动

$ sudo chkconfig smb on
$ sudo systemctl enable smb.service  #centos 7

IPtables 配置

$ 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

保存配置

$ iptables-save > /etc/sysconfig/iptables  #保存配置信息
$ iptables-restore /etc/sysconfig/iptables   #恢复配置信息

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

注意

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

发表评论

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