SAMBA服务器搭建

摘要:
如果没有,默认情况下将使用服务器DNS名称的第一部分。必须在此SambaServer中建立帐户和密码。在这种安全模式下,系统管理员可以将所有Windows用户和密码集中在一个NT系统上,并使用Windows NT进行Samba身份验证。远程服务器可以自动验证所有用户和密码。如果身份验证失败,Samba将使用用户级安全模式作为替代。Maxopenfiles=1000//注意:同一客户可以打开的最大文件数为socketoptions=TCP_NODELAY//注意:用于为服务器和客户端之间的会话设置套接字选项,这可以优化传输速度。

一、安装软件

yum -y install samba samba-common samba-client  

二、主要相关文件

/etc/samba/smb.conf    samba的主要配置文件

/etc/samba/smbusers    samba的用户别名,比如可以将root用别名administrator、admin代替等(作用:可以只告知samba用户该别名,这样可以保护真实的samba服务器/etc/passwd的用户不泄漏)

/etc/samba/lmhosts     samba的IP和域名对应,类似/etc/hosts文件功能

/etc/samba/smbpasswd        该文件为手动创建,用于存放samba用户及密码

三、smb.conf主要说明

[global]

workgroup = WORKGROUP
//说明:指明共享所在的工作组,可以是NT域名、工作组名
server string = samba server on Centos
//说明:客户端看到的服务器的描述信息
netbios name = centos_smb
//说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了
interfaces = lo eth0
//说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址
hosts allow = 192.168.1. 192.168.163. 192.168.153.
//说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。我这里只允许3个网段里的所有客户端访问samba server。(注释掉表示允许所有IP)
security = user
//说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
我只需要user级别的安全验证就可以了。
username map = /etc/samba/smbusers
//说明:用来定义用户名映射,比如可以将root换成administrator、admin等。要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,以保护Linux的系统账号root。后面会介绍这个文件
encrypt passwords = true
//说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。
passdb backend = smbpasswd
//说明:passdb backend密码验证后端。目前支持的有三种:smbpasswd、tdbsam和ldapsam。其中smbpasswd方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。这里我选用smbpasswd。
smb passwd file =/etc/samba/smbpasswd
//说明:用来定义samba用户的密码文件。smbpasswd文件如果默认不存在,要手工新建。
log file = /var/log/samba/log.%m
//说明:设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)。
max open files = 1000
//说明:同一客户最多能打开的文件数目
socket options = TCP_NODELAY
//说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。

[xxxxx] 共享目录
//说明:xxxxx表示共享名

comment = code string
//说明:comment是对该共享的描述,可以是任意字符串。
path = /home/songyd/code
//说明:path用来指定共享目录的路径。
writable = yes
//说明:writable用来指定该共享路径是否可写。这里我们允许写入,以满足文件双向共享。

writelist = mysql, jack

//说明:只允许mysql和jack2个用户对此资源可以写,其他的为read only
browseable = yes
//说明:browseable用来指定该共享是否可以浏览。
available = yes
//说明:available用来指定该共享资源是否可用。
guest ok = no
//说明:是否允许允许来宾访问
read only = yes
//说明:设置权限为只读权限
public = no
//说明:共享目录允许所有用户访问及上传文件
valid users = jack sunny
//说明:只允许jack sunny访问该共享资源

四、一个完整的smb.conf实例

[global]
workgroup = WORKGROUP
server string = samba server on Version %v
netbios name = centos_smb
interfaces = lo eth0
#hosts allow = 192.168.16. 192.168.20.
security = user
username map = /etc/samba/smbusers
encrypt passwords = true
passdb backend = smbpasswd
smb passwd file =/etc/samba/smbpasswd
log file = /var/log/samba/log.%m
max open files = 1000
socket options = TCP_NODELAY

[webfile]
comment = frontend web
path = /home/wwwroot/frontend/web
browseable = yes
writable = yes
create mask = 0664
directory mask = 0755
guest ok = no
public = no
available = yes

五、新建samba用户

smbpasswd -a mysql (mysql为/etc/passwd下存在的用户,不存在会报错)

New SMB password:
Retype new SMB password:
Added user mysql.

输入完该samba用户密码后,会在/etc/samba/smbpasswd文件生成mysql用户密码信息,如果不想让samba用户使用mysql作为samba用户名访问的话,则可以在/etc/samba/smbusers 设置改用户别名,如下写出了添加mysql后的smbpasswd文件和smbusers文件信息

[root@nginx samba]# cat smbpasswd
mysql:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:FDB5CFC19C8AC660A21CA41FE95E7D8:[U ]:LCT-5874994E: 
[root@nginx samba]# cat smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
mysql = sql     (samba用户可以使用sql作为samba帐号来访问samba服务器)

六、重启、启动samba

service smb start

service nmb start  (nmb作用是netbios,可以使用主机名方式访问samba)

免责声明:文章转载自《SAMBA服务器搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浏览器兼容性测试常用的SQLAlchemy列选项下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

启动docker容器时的Error response from daemon: devmapper: Error mounting: invalid argument.

故障描述: 虚拟机重启之后,以前创建的容器无法启动。若一执行启动操作,则会报错。 [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS...

Zabbix 系统概述与部署

Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过程,它可以运行在Linux,Solaris,HP-UX,AIX,F...

Win10访问Ubuntu的samba共享文件

大致分为以下几个步骤: 一、开启samba服务器 二、配置共享目录和用户权限 三、开启samba客户端 四、访问共享目录 一:开启samba服务器 安装samba服务器:  sudo apt-get install samba samba-common 检查是否自动samba服务:samba -V   (如果出现下面版本号说明已经安装了samba服务器)...

Ubuntu12.04 安装Samba

Ubuntu12.04 安装Samba Ubuntu12.04 安装Samba 本教程介绍了在Ubuntu12.04安装Samba文件服务器,以及如何配置它通过SMB协议共享文件,以及如何将用户添加。Samba的配置,而不是作为一个独立的服务器作为域控制器。在安装,每个用户都有自己的家目录通过SMB协议和所有用户有几次读写访问的共享目录访问。 1初步说明...

1分钟Ubuntu下搭建http web server apache2

1分钟搭建一种简单的windows 与ubuntu, ubuntu与ubuntu之间文件共享的方式! 在服务器与本地电脑已经处于同一局域网下后,就可以搭建一个简单http web server apache2进行文件互传了,如不在同一局域网下,请参考Ubuntu下静态IP配置与DHCP服务搭建。 1.安装apache2服务 sudo apt-get up...

redhat 7安装oracle 11gr2

第一章 前期工作: 1.安装redhat 7系统 2.下载oracle 11gr2安装文件----点击下载(这里的是oracle官方的)----点击下载(这里的是我自己的服务器的) 3.下载额外软件版本包----点击下载(这里的几个均许单独安装,安装好以后,仍然会有几个版本告知未找到,这里就可以忽略了而且不会在报错了) 4.将文件上传到redhat 7系统...