安装配置Samba实现windows+linux文件共享

简介:

当前设置samba的系统环境介绍

VM下CentOS6.7 64

IP192.168.0.70

 

关闭selinux

setenforce 0

关闭iptables

service iptables stop

安装samba

yum -y install samba

更改samba配置文件security = user为security = share
sed -i '/;/!s/security = user/security = share/' /etc/samba/smb.conf

注释:
security = user 定义安全级别 ,使用samba服务自我管理的帐号和密码进行用户认证;用户必须是系统用户,但密码非为/etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb bachend进行定义
security = share 匿名共享

修改samba配置文件

cat >> /etc/samba/smb.conf << EOF
[share] #此处是模块名称,名字随便起
comment = blog.whsir.com #注释
path = /win #指定目录
browseable = yes #如果把此处改成no,smbclient -L //192.168.0.70在用命令查看时,就看不到share,见下图
guest ok = yes #是否可浏览,是否可被所有用户看到
writable = yes #是否可写(全局可写)
create mask = 0644 #新建文件权限644
directory mask = 0755 #新建目录权限755
EOF

可以用testparm命令测试下配置文件是否有错误

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[share]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
这种是个警告,忽略即可

创建需要共享的目录

mkdir /win

更改权限,可以直接更改属组和属组,也可以将目录权限改成777
chown -R nobody.nobody /win

chown -R 777 /win

重启samba
service smb restart

 

Windows客户端访问

开始-运行-打开\192.168.0.70share

Linux客户端访问

挂载到linux本地/data目录,即本地data目录就是远程/win目录,此处要求输入密码直接回车即可。

mount -t cifs //192.168.0.70/share /data

 

给samba添加帐号密码

更改samba配置文件security = share为security = user

sed -i '/;/!s/security = share/security = user/' /etc/samba/smb.conf

其他配置跟上面相同(看上面修改samba配置文件部分)

给samba添加用户,用户必须是当前linux已经存在的用户,不存在则需要创建

useradd whsir -s /sbin/nologin

smbpasswd -a whsir #这里输入两遍密码

重启samba

service smb restart

 

Windows客户端访问

开始-运行-打开\192.168.0.70share就需要密码了

Linux客户端访问

挂载到linux本地/data目录,即本地data目录就是远程/win目录,密码就是刚才设置的密码

mount -t cifs //192.168.0.70/share -o username=whsir /data

 

附录:
smbpasswd命令:
-a:添加
-x:删除
-d:禁用
-e:启用
-n:将指定的用户密码置空
pdbedit命令:
-L :列出samba中所有已添加用户

注意:
手动创建useradd用户时,会有uid和gid,用这个用户在windows端上传修改文件时,权限会变成这个用户的uid和gid,这样就会导致一个权限问题。
如果是linux客户端的话,必须在当前linux客户端有这个用户,并且uid和gid跟服务端对应一致,才不会出现权限问题,当然你可以直接让samba使用nobody用户

samba不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。

在cmd中输入net use * /del /y即可解决

目录
相关文章
|
7天前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
25 1
|
15天前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux共享Windows目录
Linux共享Windows目录
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
6天前
|
Windows
7-3|windows删除目录下的所有文件的命令
7-3|windows删除目录下的所有文件的命令
|
6天前
|
Windows
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
2月前
|
Python Windows
【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
|
4天前
|
Linux Python Perl
Linux命令删除文件里的字符串
Linux命令删除文件里的字符串
15 7
|
4天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
6天前
|
Linux Perl
Linux之sed命令
Linux之sed命令
下一篇
无影云桌面