提示:安装linux的服务的时候,最好对linux中的配置文件中的功能熟悉掌握。并不推荐照做。最好能够自己模拟一些功能自己按流程都走一遍。
主线:samba服务器的搭建
主干线:samba服务器的作用是能够让基于unix或者类unix以及linux中的主机能够共享给windows系列的主机使用
centos中可能默认会安装samba服务器,如果没有安装的话可以执行下面的命令进行安装
yum install samba samba-client -y(samba服务器的核心组件主要为samba samba-client samba-common)
可以通过rpm -qa|grep samba 查看samba服务器的目前安装包
samba服务器的配置文件默认是放在etc下面的samba文件夹下
具体命令为 cd /etc/samba
samba的主配置文件就放在这个文件夹下。为smb.conf。
vim smb.conf
[global]
# ----------------------- Network Related Options -------------------------
workgroup = MYGROUP 工作组名称,一般填写windows主机中的工作组名称。
server string = MY Samba Server Version %v 服务器描述,可随便写
; netbios name = MYSERVER 设置出现在网上邻居中的主机名
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 能够从linux中不同接口访问samba服务器
; hosts allow = 127. 192.168.12. 192.168.13. 哪些网段可以访问samba服务器 (;# 为linux中的两种注释方式)
# --------------------------- Logging Options -----------------------------
log file = /var/log/samba/log.%m samba的日志文件及命名格式
# max 50KB per log file, then rotate
max log size = 50 最大日志存储量
# ----------------------- Standalone Server Options ------------------------
security = user samba用户的安全级别
security = user #这里指定samba的安全等级。关于安全等级有四种:
share:用户不需要账户及密码即可登录samba服务器
user:由提供服务的samba服务器负责检查账户及密码(默认)
server:检查账户及密码的工作由另一台windows或samba服务器负责
domain:指定windows域控制服务器来验证用户的账户及密码。
passdb backend = tdbsam
security = user #这里指定samba的安全等级。关于安全等级有四种:
share:用户不需要账户及密码即可登录samba服务器
user:由提供服务的samba服务器负责检查账户及密码(默认)
server:检查账户及密码的工作由另一台windows或samba服务器负责
domain:指定windows域控制服务器来验证用户的账户及密码。
passdb backend = tdbsam # passdb backend(用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam.
smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。
tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用 smbpasswd -a
pdbedit -x username:删除Samba账户。
pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件
ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置 “passdb backend = ldapsam:ldap://LDAP Server”
# --------------------------- Printing Options -----------------------------
load printers =yes 是否启用打印机功能,默认为yes
cups options = raw
; printcap name = /etc/printcap
#obtain list of printers automatically on SystemV
; printcap name = lpstat
; printing = cups
# ----------------------------Share Definitions -------------------------
[first] 服务器共享目录名称
comment = user name
path=/first 实际的共享目录绝对路径
browseable = yes 不在客户端显示自己的共享目录
writable = yes 可写
read only= yes 只可读
public= yes 允许匿名用户访问
write list=@wxwsmb 可以共享此目录的samba用户组
samba实践
共享一个目录,任何人都可以访问,即不用输入密码即可访问,要求只读
把:
MYGROUP改成:WORKGROUP
把:
security=user修改为:security=share
在文件的最末尾处加上
[linux]
comment=for windows
path=/xiaoming
writeable=no
public=yes
:wq!
保存配置文件
重启服务
service smb restart
访问的时候会出现各种问题,应该学会怎样去解决,比如selinux没有关闭,iptables端口的未放行也会导致这个问题,如果只是测试学习的话,可以马虎一点使用setenfore 0临时关闭selinux,iptables -F 清除所有规则。如果是实际工作中的话,可以参考linux系统管理中的相关提示进行操作。
如果在配置文件中的public=yes没有加上或者说是为no的情况下。也是不能够访问的
共享一个目录,任何人都能够访问,要求可以读写
把:
MYGROUP改成:WORKGROUP
把:
security = user修改为:security = share
在文件的最末尾处加上
[linux]
comment=for windows
path=/xiaoming
writeable=yes
public=yes
:wq!
保存配置文件
重启服务
service smb restart
这个时候访问的时候会出现一些问题,比如说还是不能在这个目录下创建文件。主要的原因是该文件夹对匿名用户的写权限的限制,限制了匿名用户进行文件的创建
通过这个命令就可以查看匿名用户的权限
ls -ld /xiaoming
更改其可写权限
chmod o+w /xiaoming/wanlei
如果还是不能够创建文件的话,就要考虑selinux中的布尔值问题了。这个在dns服务器的配置中也会说到。