samba windows与linux互相访问从网络整理而来

一、本机查询是否已安装samba

# rpm -q samba1

二、安装samba

# yum install samb1

三、查询smb和nmb的状态

# /sbin/chkconfig | grep smb# /sbin/chkconfig | grep nmb1

2

四、 配置samba

vi /etc/samba/smb.conf1

[global] deadtime = 0 ;deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。 ;将Windows 客户端的文字编码设置为简体中文 GBK dos charset = GBK ;指定Samba所在服务端新建文件或目录时的编码为 GBK unix charset =GBK [fileuser];这个用户可以使用系统中已经存在的用户 comment = fileuser ;设置访问的文件的路径 path = /home/fileuser ; 如果这里指到其他用户的目录下,一定要注意对这个目录的访问权限,否则windows机器上没有访问读写。 自己测试时:chmod -R 775 /home/..... writable = yes ;以下配置解决windows向linux写文件时的权限问题,可以参考() create mode = 0644 force create mode = 0644 directory mode = 0755 force directory mode = 0755

五、 测试配置的参数

# testparm /etc/samba/smb.conf1

六、新增一个用户,用于文件目录查看

# useradd -g dba fileuser1

注意:

1. 如果后期要删除这个用户, 出现用户已登录的提示;需要先关闭smb和nmb的服务

2. 这里的dba要根据实际情况修改

七、设置用户密码

# /usr/bin/smbpasswd -a fileuser1

八、防火墙设置

vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 138 -j ACCEPT


九、selinux设置

/usr/sbin/sestatus -v1

如果是关闭的则不需要以下设置# setenforce 0

# vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行

# setsebool -Psamba_enable_home_dirs on
# setsebool -Psamba_export_all_rw on
# getsebool -a | grep samba 查看一下

十一、添加到系统服务中

# /sbin/chkconfig --level 2345 smb on# /sbin/chkconfig --level 2345 nmb on


十二、重启服务

#/sbin/service smb restart#/sbin/service nmb restart


十三、 在windows上访问文件在Windows资源管理器输入“\\共享IP地址\共享用户”,输入用户和密码后就可以访问了

示例

samba的用户列表 samba查看用户_linux

samba的用户列表 samba查看用户_重启_02

注:

这种方法,可以在不同的windows机器下访问用一个linux的文件夹。

十四、linux下访问windows下系统在windows下新建一个用户,这里我用了Administrator

密码为Administrator。 在这个用户共享一个文件夹samba_test。

先在另外一台windows机器上试下,看是否能访问,如果可以访问说明共享正常。

cifs-utils 和samba都要安装(非常重要)

在linux目录下新建

# mkdir /mnt/samba_test# mount -t cifs -o username=Administrator,password=**** //10.1.108.14/samba_test /mnt/samba_test


4.开机自动执行

在/etc/rc.local中加入

mount -t cifs -o username=Administrator,password=**** //10.1.108.14/samba_test /mnt/samba_test

下面是我试验的例子:

samba的用户列表 samba查看用户_linux_03

注:

不能把windows下的多个目录同进挂到linux下的相同目录,不同子目录可以,即不能多对一。