我们知道linux与linux之间进行文件共享的是nfs服务器。那么linux与其他类型系统进行文件共享的服务器是什么呢。就是samba。当然你也可以用vsftp。这两者各有优缺点,samba处理内部事务比较好,配置也比较简单。而vsftp的安全性更高,权限设置的全面、并且传输效率上也要比samba高很多。samba是单线程的,并且效率不太高,容易造成阻塞的现象。看你怎么选择吧。
首先查看,当前系统有没有安装samba:rpm -qa |grep samba
即使安装了也可以卸掉,自己重新安装:
卸载命令:yum remove samba -y(同时把/etc/samba文件夹下的文件也删除了。注意:不要把smb.conf删了,这个是samba的核心配置文件。(但是,误删了也不要紧。自己手动创建一个就好了,网上讲解这个文件的有很多))
安装命令:yum install samba
安装完之后:rpm -qa| grep samba,看一下是不是装全了。一般这一步都不会有问题。
看一下/etc/samba文件夹下,应该确保有smb.conf,跟sambauser这两个文件。
剩下的就是配置了,代码如下。一步步配就能成功。
service smb start 首先启动smb服务
cd / 进入到/目录
useradd tom 这一步是添加用户的操作(查看当前所有用户:cat /etc/passwd)
useradd mary
passwd tom 这一步是为用户设置密码
passwd mary
smbpasswd -a tom
smbpasswd -a mary
mkdir readwrite 创建要共享文件夹(这个文件夹是可读可写,名字自己起)
mkdir readonly 创建要共享文件夹(这个文件夹是可读可写,名字自己起)
vim readwrite/write 可以在这个文件夹下,先创建一个文件
vim readonly/only
chmod 555 readonly 设置文件的访问权限(如果想在windows映射成硬盘的话,最好使用777)
chmod 700 readwrite
chown -R tom readwrite 设置文件的拥有者
vim /etc/samba/smbusers 在配置文件中设置samba的用户
添加:tom=wintom 前面是你刚才设置的用户,后面是在windows中,想使用的用户名
mary=winmary
vim /etc/samba/smb.conf
在golbal下添加username map=/etc/samba/smbusers 设置用户列表
在share下添加下列代码:
[readonly]
path=/ readonly 要共享文件夹的路径
writable=no 可写吗
read only=tom mary 只读
browseable=yes
guest ok=yes
[readwrite]
path=/ readwrite
writable=yes
write list=tom
read only= tom
valid users= tom 生效的用户
invalid users=mary 限制的用户
service smb restart 保存后,重启服务
service iptables stop 关闭防火墙,或者开启端口
setenforce 0 设置selinux为disabled
以上就是主要配置。
然后在Windows中Windows+R输入\\:ip(服务器的ip地址),回车。稍等,就会弹出命令窗。输入,你设置的用户名密码。就可以看见你的文件夹了。然后,你可以右键映射成硬盘。大功告成!!!