centos安装samba,与其它OS共享文件[转载]


来自:PHP中文教程
对于熟悉windows开发的人来说,要在linux下使用vim编写代码的确不习惯,幸好有samba这些软件可以共享linux下的文件,以能在windows下开发,而在linux下安装与调试。
首先检查是否安装samba,centos通过yum
$yum -y install samba samba-common samba-client
新建share共享目录

$mkdir html

修改此目录的权限

$chmod -R 775 /share

修改smb.conf文件的内容

$vi /etc/samba/smb.conf

增加或修改

setsebool -P samba_domain_controller on

setsebool -P samba_enable_home_dirs on

setsebool -P samba_export_all_rw on

[global]

# 与windows下的工作组对应

workgroup = mygroup

# centos系统下的主机名称

netbios name = CentOS

# 允许局域内计算机访问的ip,根据情况设置

hosts allow = 127. 192.168.0. 192.168.1

# 增加

create mask = 0775

directory mask = 0775

doc charset = UTF-8

unix charset = UTF-8

# 安全级别,share与server已经不被赞成使用,唯有使用user

security = user

继续,找到:Standalone Server Options 这一栏下方
passdb backend = tdbsam
 将上面 tdbsam 修改为:smbpasswd
  目前支持的有三种:smbpasswd、tdbsam和ldapsam。其中smbpasswd方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。这里我选用smbpasswd。
设置打印、文件读与写
 

在共享的目录可能存在软链接的问题,这些文件在编辑的时候会弹出权限不够,因为软连接引用的是其它目录的文件。

解决办法是增加设置:

wide links = yes
follow symlinks = yes 
unix extensions = no

[homes]

browseable = yes

writeable = yes

[printers]

browseable = no

guest ok = no

writeable = no

printable = no

上面这几行可以不用设置
最后找到[public],以后叫[share]

[public]

path = /var/www/html

public = yes

writable = yes

printable = no

上面这段非常重要,它是你要共享的文件目录,path为文件路径,public是否作为公共访问目录,writable,是否可写。
完成后按ESC键后输入:wq 保存内容
输入

$smbpasswd -a root

设置系统ROOT用户的共享密码
  然后提示输入密码,则输入密码如:123456
  再确认输入:123456 回车后可以看到 file successfully created 字样,表明成功.
  smbpasswd这个文件不一定创建在 /etc/samba/下,也可能是其它地方,依系统而定

 默认情况下 smbusers在安装SAMBA服务器自动生成在/etc/samba下,并且内容里已有ROOT用户与WINDOWS下的登陆名映射。
  默认打开SMBUSERS文件可以看到下面:

root = administrator admin

表明ROOT用户已有映射了,不用再加。
关闭以确保linux下防火墙关闭或者是开放共享目录权限

iptables -F

关闭selinux, 因为默认的SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。

setenforce 0

重启2个SAMBA服务

$service smb restart
$service nmb restart

Samba 有两个守护进程(nmbd 和 smbd),需要运行它们Samba 才能正常工作。
   nmbd 是一个服务器,它可以理解和响应 NetBIOS over IP 命名服务请求,比如 Windows 95/98/ME、Windows NT、Windows 2000、Windows XP 和 LanManager 客户机等 SMB/CIFS客户机产生的请求。它还参与浏览协议,从而构建 Windows 网络邻居视图。
   smbd 是服务器守护进程,它向 Windows 客户机提供文件共享和打印服务。这个服务器使用 SMB(或CIFS)协议向客户机提供文件空间和打印服务。
   注意:是smbd还是smb要看LINUX的不同版本。

在WINDOWS中打开CMD命令输入

net use * /del

以确保断开所有远程连接,保证测试效果。
在cmd中输入

net use \192.168.1.102

 提示用户名时输入:root
密码用:123456
即前面在生成SMBPASSWD时所使用的
上面完成后,打开资源管理器,在地址栏目中输入 \192.168.1.102 即可以看到LINUX中的所有共享文件夹
如果发生问题:
1.重新执行下面两句,注意先后顺序:
    iptables -F  
    setenforce 0
2.重新启动服务:
    service smb restart
    service nmb restart
3.在WINDOWS CMD中
    net use * /del
    确保之前的链接断开
4.修改过 smb.conf等内容都要重启SAMBA服务

最后,加centos上的共享目录做一个网络盘符映射。参考enku.baidu.com/view/bb2523efaeaad1f346933ff2.html
原文地址:https://www.cnblogs.com/sumsung753/p/3821494.html