使用samba做windows与linux的文件共享

概述

Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。

用来拯救代码需要在linux环境下编译,又依赖各种IDE,苦于做代码同步的同学。

本文记录一下samba的配置过程。

linux配置

1 首先检查samba服务是否安装

1
2
3
rpm -qa | grep samba
#if not
yum install samba -y

2 编辑samba配置文件, /etc/samba/smb.conf

1
2
3
4
5
6
7
8
[global]
workgroup = WORKGROUP
[homes]
comment = Home Directories
browseable = yes
writable = yes
create mask = 0664 ;创建文件的默认权限是744,修改为664
valid users = %S ;指登陆用户可以访问, 注释掉则任何用户可登陆

上面的配置可以共享系统用户的home目录。

3 添加samba用户

1
smbpasswd -a liming

4 关闭防火墙、SELinux

1
2
3
4
5
service iptables stop
#临时关闭selinux
setenforce 0
#永久关闭
#修改配置文件/etc/selinux/config,将SELINU置为disabled ,重启

5 重启smb

1
service smb restart

windows 配置

右键“网络”,选择映射网络驱动器,输入\\ip\user,user为登录的用户名。

smb1

OK啦

更多共享

如果需要共享不止是home之外的目录,可以在/etc/samba/smb.conf中增加目录的配置。

新建一个目录

1
2
mkdir /home/liming/testshare
chmod 777 /home/liming/testshare -R

增加配置

1
2
3
4
5
6
7
[myshare]
comment = share for users
path = /home/liming/testshare
browseable = yes
writable = yes
public = yes
create mask = 0644

重启smb服务

同样在Windows中右键“网络”,选择映射网络驱动器,输入\\ip\myshare,注意这里填的是smb中配置的名字。

smb2