linux-Samba服务器配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
今天我们要架设的samba服务器,功能主要就是类unix机器与windows机器的文件共享,也可以是共享打印机,samba软件整合了SMB协议及Netbios协议,使其运行在TCP/IP上SMB协议:Server Message Block(服务信息块),可看作是局域网上的共享文夹打印机的一种协议。
SAMBA服务有两个进程
smbd:SMB服务器
nmbd:netbios名称服务器
玩过windows的应该都知道netbios吧,这个我就不多说了,但是一般linux上面的这个功能都没用,因为netbios不稳定,还不如直接用DNS
下面介绍下SAMBA服务器的特点
1、在网络上共享目录,就好像一台文件服务器一样
2、在网络上共享打印机
3、决定共享目录的访问权限,可以让一个人、某些人、组和所有人访问
4、决定打印机的访问权限,可以让一个人、某些人、组和所有人使用
可以看出,安装和配置好了Samba服务器后,Linux就可以使用Windows网络中的文件和打印服务器了。
smb用的脚本文件
/etc/rc.d/init.d/smb
所以我们启动samba服务器的时候使用
service smb restart
nmbd 使用的端口是137和138
smbd使用的端口是139和445,所以一般禁止samba服务我们控制139和445端口
139端口也是属于netbios ,但是最好禁止的时候把139端口也禁用了
所需的RPM包:samba
图形化软件:samba-swat
samba是可以通过图形界面配置的
我们今天只讲修改配置文件配置
但是提示大家注意一点
如果使用图形界面配置,从新启动服务器后,配置文件内被注释的行就会被删除,图形界面配置的软件是这样设计的
配置文件是
/etc/samba/smb.conf
samba服务的主配置文件/etc/samba/smb.conf主要由两部分组成
Global Settings 全局参数设置
该设置都是与Samba 服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的Share Definitions 共享目录
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用
samba服务器与用户的家目录相关,所以设计到selinux,这个大家要注意
下面大家先安装samba服务器
大家打开配置文件吧
vim /etc/samba/smb.conf
配置文件有288行,我把重要的给大家说说
设置Samba服务器所属的群组名称或Windows的域名
workgroup = MYGROUP
server string是服务器的描述
设置可访问Samba 服务器的主机、子网或域
hosts allow =
默认是注释了的,意思是允许所有访问,请大家仔细看这个选项,他的表达方式比较特殊,只需要写出网络位然后以点结束,主机位省略
127.0.0.0 只写127.
192.168.12.0 写成192.168.12.
切记~~~
还有全局的hosts allow 可以在局部使用,但是hosts deny 参数只能在全局使用设置是否允许打印配置文件中的所有打印机开机时自动加载。
load printers = yes
设置Samba 服务启动时,将自动加载的打印机配置文件
printcap name = /etc/printcap
设置guest 账号名
guest account = pcguest
指定Samba 服务器使用的安全等级security = user
我们今天只介绍share级别和user级别
其他的三个安全级别有兴趣的可以自己去研究下
share就是不用密码访问,user 级别就是使用用户密码验证
使用加密口令
encrypt password = yes/no
设置Linux 用户到Windows 的用户映射。
username map=/etc/samba/smbusers
全局常用的设置基本就这些,应该可以满足你企业的通常使用
可以把一个linux的sambaID映射成一个虚拟机的用户名,在windows登陆samba服务器使用虚拟机的用户名,这样就提高了服务器的安全性
这个参数默认是没有的,需要自己添加,但是smbusers文件是存在的
下面介绍下共享目录的一些设置,其实这个文件和windows的.ini配置文件写法很象每一个共享目录都由[目录名]开始,这个目录名字是client看到的名字
comment是共享目录的描述
path就是真正的共享目录位置了
public是否可以匿名访问
writable可以访问的用户是否有写入权限,要与文件权限配合使用
write list允许写入权限的用户列表
如果printables = yes 那么这个目录就被认为是一个打印机,所以一般我们设置成printable s = no ,这样能理解吗?
还有一些常用的,但是配置文件没有写入的语句我给大家说说
valid users=
允许访问的用户列表,前提是public设置成no
刚才的write list 要生效的话,writeable 也设置成no
注意valid users = ,users有个s 不要忘记了,少一个字符这句就没有意义了
invalid users =
不允许访问的用户,就算你上面允许他了,但是加入这句,这个用户也会被拒绝。一般用在允许所有,而禁止某几个用户的时候使用
create mode = 640
很有用的参数,用户创建的文件默认权限
directory mode = 750
用户常见的目录的默认权限
但是这两个参数只在client使用的是图形界面有效果,如果client使用的命令登陆,那么这两句就没有效果了,所以测试的时候注意了,用mount 挂载的测试不出效果
最后就是samba 的ID设置
创建samba用户,主要两步
1、useradd redhat
2、smbpasswd -a redhat
1、是在系统建立一个redhat用户,一般我们不设置密码,把shell改成/sbin/nologin
2、是把刚才创建的用户变成samba用户-a 是新建的意思,如果修改密码就不用加-a
记住只有安全级别是user 这里的用户才会生效
下面具体配置samba服务器
我们第一个要是实现的功能是共享/public目录让所有人访问,所有人可以写入文件,但是不可以删除或修改其他用户的文件
要求看懂了吗?这就是一个公司的交换文件服务器
1、新建public目录