一.samba服务器介绍:
* samba服务器,其可以在系统中提供共享资源,并可以在其它的操作系统中
得到访问.
* samba服务器,其具有两个协议
smb 协议 ===>其功能可以接受网络中其它计算机所提出的访问共享资源的请求.
nmb 协议 ===>其功能可以使samba服务器能够在网络中其它计算机系统中计算机列表中显示.
* samba服务器,可以允许在图形界面以及字符界面下配置.
二.samba服务器安装及启动:
1.查询samba服务器软件包以及客户软件包
rpm -qa | grep samba
2.samba服务器目录以及samba配置文件:
* 服务器目录 ====> /etc/samba
* 配置文件 =====> /etc/samba/smb.conf
3.手工方式启动samba服务器:
service smb start / stop / restart /status
4.设定samba服务器在下次启动计算机后自动启动:
chkconfig --level 35 smb on
三.samba服务器说明:
1.samba服务器验证过程:
* share --- 共享 , 网络中所有计算机均可以直接访问samba服务器共享资源.
* user --- 用户 , 网络中计算机访问samba服务器共享资源时,首先要求输入samba
服务器中允许的用户名以及密码,否则无法访问.
* server --- 服务器 , 网络中计算机访问samba服务器共享资源时,首先要求输入
网络中windows2000server 服务器允许的用户名与密码.
* domain --- 域 , 访问共享资源时,必须要输入网络中活动目录中允许的用户名与密码.
2.共享资源设定时的访问方式:
public=yes --->允许所有用户访问
writable=yes --> 允许写入
writable=no --> 只允许读取
read list= 用户列表 --->允许访问的用户
write list= 用户列表 --->允许写入数据的用户
四.samba服务器配置:
1.samba服务器配置文件结构:
* [global] ===>全局配置参数,直接影响到服务器运行
* [homes] ===>用户主目录共享设定
* [printers] ===>用户打印机共享设定
* [myshare] ===>用户自定义共享
2. samba服务器配置文件中的常用选项:
* netbios name=sambaserver --->定义samba服务器的计算机名为 sambaserver
* workgroup = MYGROUP ---->定义samba服务器的所在工作组为mygroup
* server string = Samba Server --->定义samba服务器的说明
* hosts allow = 192.168.1. 192.168.2. 127. --->定义允许访问samba服务器的计算机列表
* log file = /var/log/samba/%m.log ---->定义samba服务器的访问日志存放位置
%m 变量表示具体的登录用户名
* max log size = 0 ----->定义最大的日志大小,0即为无限制,单位为KB
* security = share ----->定义samba服务器的验证模式为"共享验证"模式
[homes] ---->从此处开始定义用户主目录共享
comment = Home Directories ----->注释
browseable = no ----->并非所有用户均可以浏览查看
writable = yes ----->主目录所有者允许添加写入数据
valid users = %S ----->指出主目录的有效用户为主目录所有者
create mode = 0664 ----->添加数据,664
directory mode = 0775 ----->目录模式为 775
3.在服务器中配置共享,使所有用户可以访问共享资源:
在smb.conf文件最后配置:
[wangqq] ---->共享名
path=/home/qq ---->共享路径
public=yes ---->允许访问的用户,此处为所有用户
writable=yes ---->允许写数据
注: 以上设定中,已设置/home/qq共享时的共享权限为 "所有用户可读,可写"
但是,在实际操作中,还应该考虑被共享的资源,其本地权限.(采用chmod 命令修改本地权限)
如 chmod 777 /home/qq
五.配置samba服务器,要求必须输入相应的用户名与密码,才可以访问.
1.介绍:
* 访问资源时,无需要输入任何用户名进行验证 ------> 验证方式为 share
* 若访问共享资源时,必须输入用户名与密码进行验证 ----->验证方式为 user
2.samba服务器的验证用户:
* 该类型用户即为samba用户
* 所有的samba用户,均存于 /etc/samba/smbpasswd 文件中
* samba用户,肯定是linux系统中的登录用户,但是linux系统中登录的用户,并非是
samba用户.
* 将 linux系统中的普通用户,转化为 samba服务器用户:
smbpasswd -a linux普通用户名
提示输入两次密码
3. 设定具体的共享资源由具体的用户访问:
(此处的具体用户,均统一指为 samba 用户)
如
[wangqq] ------->共享名
path=/home/qq ------->共享路径
public=no ------->不允许所有用户访问
valid users=test --->指定有效用户为 test,可以指定多个samba用户
如 valid users=test wang wu
4. 设定具体的共享资源由部分用户读取,而另外用户允许写入:
如
[wangqq]
path=/home/qq
public=no
read list=wang wu ----->允许读取的用户列表为 wang wu
write list= test ----->允许写的用户列表为 test
六.在linux的字符界面下使用共享资源:
1.采用命令查看指定计算机中的共享资源:
smbclient -L //计算机IP地址 -U 用户名
回车后,提示输入该用户的密码
如 smbclient -L //172.16.100.200 -U wu
2.采用命令连接到指定计算机的共享资源中,并进行操作:
smbclient //计算机IP地址/共享名称 -U 用户名
回车后,提示输入用户的密码,即可以连接到共享资源中
注: 连接到共享资源后,其操作方式即为 ftp 操作方式
3.采用 挂载命令,使用指定计算机中的共享资源:
mount -t smbfs -o username=具体用户名,password=密码 //计算机IP地址/共享资源名 本地挂载点
如 mount -t smbfs -o username=wang,password=123456 //172.16.100.200/wangqq /mnt/ttt
==========================================================================================================
mount 挂载smbfs的用法;
mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点
或
mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点
或
mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点
smbmount的用法:
smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点
smbmount //ip地址或计算机名/共享文件夹名 挂载点
例子:
1.首先在windows上共享一个目录,如:共享了目录share,用户和密码都是:massky
2.在linux机器上,在/mnt目录下建立一个ml45目录,使用root用户,执行下面命令:
mount -t smbfs -o username=massky,password=massky //192.168.0.0/share /mnt/ml45
这是你就可以在/mnt/ml45看到了windows上共享的数据了,现在我做第三步
3.用root用户,编辑 vi /etc/fstab, 在最后面加入:
//192.168.0.0/share /mnt/ml45 smbfs defaults,auto,username=massky,password=massky 0 0
这样linux机器重新启动都可以自动挂载windows上的共享目录