samba文件服务器就是模仿windows的文件共享
咋windows下访问:\\192.168.1.200
========================================
samba端口:
smbd: 为clinet提高资源访问 tcp 139 445
nmbd:提供netbios主机名解析的 upd 137 138
安装:
1.检查是否安装: rpm -qa | grep smaba
2a.在可以联网的机器上使用yum工具安装。
# yum install samba samba-client samba-swat
有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。
安装包说明
samba-common-3.5.10-125.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面
samba-3.5.10-125.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务
查看samba的服务启动情况
# service smb status
设置开机自启动
# chkconfig --level 35 smb on //在3、5级别上自动运行samba服务
2b.如果未联网,则挂载系统光盘进行安装,挂在光驱:mount /dev/cdrom /mnt/cdrom //安装必须先挂载光驱
3.cd /mnt/cdrom/Centos下 ls | grep samba 会出现samb相关文件,只需安装:
samba 主程序包 安装第一步: rpm -ivh /mnt/cdrom/CentOS/samba-3.0.33(tab补全)
samba-common 主要配置文件 安装第二步: rpm -ivh /mnt/cdrom/CentOS/samba-common (tab补全)
samba-client 客户端文件 安装第三步:mount /dev/cdrom /mnt/cdrom/samba-client (tab补全)
4.修改配置文件:
/etc/samba/smb.conf (# 和 ;都是注释)
[global]
workgroup = 工作组
server string = 描述
log file = 日志位置
max log size = 日志最大大小 KB
security = user 安全等级
可设置4个安全等级:
user 使用samba用户登录。注意:samba用户由系统用户转变过来。要把用户生成为samba用户,此用户必须已经是系统用户
share 不用密码
server 使用验证服务器验证
domain 域控制器验证
***********使用server,domain需要另外搭建服务器,不讲,samba主要是文件内部共享,这两个不用*****
share definitions 共享设置
[Home] 共享目录名
comment = 目录描述
browseable = yes 目录是否对没有权限的用户可见
writeable = yes 可写(要与系统目录权限相等,如果系统权限设置不可写,此处也为不可写)
valid users = 用户名 用户限制(目录是哪个用户所有),即当前目录的所有者是谁
path = /www 指定共享目录位置
*********所有配置都不用改,要想建立共享文件,在[Home]下边添加即可********************
例子:
共享两个目录,一个是pub 位置在 /pub 所有用户都能访问,所有用户都能上传
一个是soft 位置在 /soft 只有aa用户能访问,上传。其他用户不能访问
[pub]
browseable = yes
path = /pub
writable = yes
[soft]
browseable = yes
path = /soft
writable=yes
*********所有共享文件夹都可只写这三项,其他靠系统权限控制************
mkdir /pub
mkdir /soft
chmod 777 /pub //更改权限为777,即所有人都能访问,写入
chmod 700 /soft //更改权限为700,即只有属主用户有权限,其他用户没有任何权限
chown aa /soft //改变soft的属主为aa
service smb restart
(六) 把系统用户声明为samba用户
smbpasswd -a 系统用户名
smbpasswd -a aa ******会提示输入密码,必须符合smb密码规则,写的复杂点,否则不通过。
smbpasswd -x 用户名 删除samba用户
(七) 重启服务
service smb restart
注意: samba权限和系统权限取最严格权限
samba用户必须是系统用户
启动的服务名是smb
*****************************************无密码访问****************************
我在设置了security = user后还是提示需要密码:
查得:
需要在global配置下加上:
guest account = nobody
guest ok = yes
(八) 客户端使用
windows: \\192.168.1.200
*******使用一个用户登录后,下次再登录就直接登录了,需要重新登录则需要:清除缓存
cmd下: net use 查看缓存
cmd下: net use * /del 删除缓存
linux客户端:
smbclient //192.168.140.253/soft -U aa 登录linux服务器
smbclient //192.168.180.250/src -U administrator 登录windows服务器(src为共享目录,不管目录有多深,都直接写src就行)