安装samba服务
最近一直想在centos上搭建samba服务,使得可以在windows系统上访问centos上面的文件,于是就搜索网上的资源,直到今天晚上找到一篇非常详细的博客介绍了搭建过程,主要包括下面几个步骤总结一下:
1.环境准备: 在虚拟机上安装有Centos7
2.安装软件:
2.1 确保 Windows 和 Linux 系统在同一工作组:cmd输入net config workstation, 显示 工作站正运行于 NetBT_Tcpip_{0E9B6330-06FD-4A08-9E3C-C83BC2039251} (005056C00001)
2.2 安装samba:在root用户下输入 yum install samba samba-client samba-swat
2.3 检查是否安装成功: 输入rpm -qa | grep samba 验证是否安装
2.4 Samba文件配置:① 先cp etc/samba/smb.conf etc/samba/smb2.conf 备份文件;② 输入 vim /etc/samba/smb.conf,对smb.conf文件进行配置,先删除所有内容,然后配置如下:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = MySambaServer
security = user
map to guest = bad user
dns proxy = no
[data]
path = /home/data/
browsable =yes
writable = yes
guest ok = yes
read only = no
配置的内容注释如下:
[global]
workgroup = WORKGROUP # 设定 SambaServer 所要加入的工作组或者域,需要与 Windows 工作组一致
server string = Samba Server %v # 设定 SambaServer 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号
netbios name = centos-8 # 设置 SambaServer 的 NetBIOS 名称。如果不填则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了
security = user # 设置用户访问 SambaServer 的验证方式,一共有四种验证方式
# 1. share:用户访问 SambaServer 不需要提供用户名和口令, 安全性能较低。
# 2. user:SambaServer 共享目录只能被授权的用户访问,由 SambaServer 负责检查账号和密码的正确性。账号和密码要在本 SambaServer 中建立。
# 3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的 Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用 用户级安全模式作为替代的方式。
# 4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
map to guest = bad user # 将匿名用户映射为nobody用户,这个是Samba4.0之前版本的 security=share,4.0之后改成了 security 和 map to guest
dns proxy = no # 设置 SambaServer 是否开启dns代理服务
[Anonymous] # 共享文件夹配置 windows 显示 “Anonymous” 文件名
path = /srv/samba/shared # centos 服务器中,共享目录路径
# path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。 例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录, 这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定 要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问 samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m
browsable =yes # 允许该目录被显示在系统资源中
writable = yes # 用来指定该共享路径是否可写,是否是只读,如果有read only的配置,二者冲突会以 writable 为准
guest ok = yes # 意义同“public”,公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
read only = no # 以只读方式共享,当与 writable 发生冲突时以 writable 为准
3.从 Windows 机器访问 Samba 共享
cmd输入 \\MYSAMBASERVER 进行访问,这里的MYSAMBASERVER 就是 smb.conf配置文件里的netbios name = MySambaServer
按照博客的步骤虽然安装了samba服务,但是在windows系统中只能显示linux中的目录,而看不到其中的文件,而且复制文件到linux中也不行,解决办法如下:
1.在命令行输入:
chmod -R 777 /home/data // 这里的/home/data就是共享的路径
2.进入到/etc/sysconfig/selinux中,编辑config,将SELINUX = enforcing 改为 disabled
3.重启虚拟机
标签:Samba,SambaServer,用户,samba,111,home,共享 From: https://www.cnblogs.com/xuanmiao363/p/17232613.html