共计 4639 个字符,预计需要花费 12 分钟才能阅读完成。
能提供文件共享的常见服务:ftp, nfs,samba
在 Windows 中借助 netbios(广播方式,主要功能是主机名解析),cifs(common internet file system),smb(service message block)来实现文件共享。
samba 主要有两个进程:
nmbd:模拟 netbios 的功能,让 linux 主机能出现在 Windows 主机上的网上邻居里
smbd:实现文件共享功能
samba 用户帐号:
必须是系统用户,但 samba 自己维护一个访问 samba 服务的专用密码。
samba 安全级别:
share:允许匿名访问 samba
user:提供有效的帐号密码才能访问
server:集中身份认证(提供一台专门的认证服务器)
domain:帐号和密码在 DC(域控)
samba 接受 SELinux 控制
samba 支持基于 IP 的访问控制
samba 通过 [homes] 支持本地用户通过 samba 访问自己的家目录
Web GUI: swat (xinet)
建立一个 samba 服务器,达到如下要求:
1、每个用户登陆 samba 后都有一个自家的目录,对自家目录拥有 rwx 的权限,且限定其所使用的空间大小;
2、每个用户登陆后都可查看到一个公共的共享目录,此目录对普通的用户只有读取权限;
思路:
1、准备一个独立的分区,此分区启用磁盘配额,对各个用户设置配额;
2、编辑 smb.conf 配置文件,增加独立的共享目录;
samba 用户家目录及共享目录的准备:
事先准备好一个独立的分区。要想启用 quota,那必须是单独的分区,所以得准备一个分区,并挂载到系统中
[root@bogon ~]# mkdir /samba
[root@bogon ~]# blkid /dev/sda4 #/dev/sda4 是一个独立的分区
/dev/sda4: LABEL=”SAMBA_HOME” UUID=”504627df-fa43-4768-9459-6f01ef991e2e” TYPE=”ext4″
[root@bogon ~]# vim /etc/fstab #在最后加入下边一行
UUID=504627df-fa43-4768-9459-6f01ef991e2e /sambahome ext4 defaults,usrquota,acl 0 0
注:“acl”的意思开启挂载分区的访问控制,便于使用“setfacl 命令”,不然会报 Operation not supported”错误。
[root@bogon ~]# mount -a
[root@bogon ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext=”system_u:object_r:tmpfs_t:s0″)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sda4 on /sambahome type ext4 (rw,usrquota,acl)
[root@bogon ~]# mkdir /samba/{home,share}
普通用户及管理用户的创建:
[root@bogon ~]# useradd -c “samba user” -d /samba/home/samba1 samba1
[root@bogon ~]# smbpasswd -a samba1
[root@bogon ~]# useradd -c “samba admin user” -d /samba/home/sambaadmin sambaadmin
[root@bogon ~]# smbpasswd -a sambaadmin
samba 安装配置:
系统环境:
[root@bogon ~]# cat /etc/RedHat-release
CentOS release 6.4 (Final)
[root@bogon ~]# uname -r
2.6.32-358.el6.x86_64
[root@bogon ~]# yum -y install samba
[root@bogon ~]# yum -y install samba-client #samba 客户端工具单独安装
[root@bogon ~]# cd /etc/samba/
[root@bogon samba]# ls #主配置文件为 smb.conf
lmhosts smb.conf smbusers
[root@bogon samba]# cp smb.conf smb.conf.back
[root@bogon samba]# vim smb.conf
说明:smb.conf 配置文件在我们的一般运用中,要修改的地方不多,一般在 [global] 中修改”workgroup = MYGROUP“
为”workgroup = WORKGROUP“即可,然后在最后的”Share Definitions“增加相应配置如下:
[sambashare]
comment = sambashare
path = /samba/share
public = yes
writable = yes
write list = +sambaadmin #只有 sambaadmin 这个组中的成员才能有写的操作
guest ok = yes
browseable = yes
[root@bogon ~]# setfacl -m u:sambaadmin:rwx /samba/share/ #设置 samba 管理用户对 share 目录的权限。
[root@bogon ~]# for i in nmb smb;do service $i start;done #启动服务
[root@bogon ~]# smbclient -L 192.168.1.200 -Usamba1 #用客户端工具本地测试服务器已共享了哪目录
[root@bogon ~]# smbclient //192.168.1.200/samba1 -Usamba1 #进入 samba 的交互模式
启用磁盘配额:
[root@bogon ~]# yum list | grep quota
quota.x86_64 1:3.17-20.el6 base
quota-devel.i686 1:3.17-20.el6 base
quota-devel.x86_64 1:3.17-20.el6 base
[root@bogon ~]# yum -y install quota
[root@bogon ~]# quotacheck -cvu /samba/
[root@bogon ~]# ls /samba/
aquota.user home share
[root@bogon ~]# edquota samba1 #对普通用户启动配额,设置空间的使用限制为 10MB。
Disk quotas for user samba1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda4 20 0 10240 5 0 0 #这里的单位是 KB
[root@bogon ~]# quotaon -auv #激活 quota 的功能
[root@bogon ~]# for i in nmb smb;do service $i restart;done #重启服务
接下来就可以在 Windows 端进行测试了。
注意:
samba 有两个守护进程:smbd 监听 139TCP 端口
nmbd 监听 137 和 138UDP 端口
smbd 进程的作用是处理 smb 请求包,负责用户验证和文件共享;nmbd 进程的作用是处理浏览共享各计算机名称解析。
所在 Windows 下用 ” 运行 –>\\IP 地址 ” 的方式来访问共享时,可以不启用 nmb 这个服务,也一样可以使用共享资源。
在 Windows 下用命令 ”net use” 查看已建立的连接,用“net use \\192.168.1.200\IPC$ /delete”命令清除已建立的连接。
[root@bogon ~]# repquota -a #打印出各个用户的配额使用报告
*** Report for user quotas on device /dev/sda4
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
——————————————————————————————————-
root — 12 0 0 3 0 0
samba1 — 3800 0 10240 40 0 0
sambaadmin — 16 0 0 5 0 0
至此结束!!!
———————————— 分割线 ————————————
如何在 Ubuntu 14.04 中使用 Samba 共享文件 http://www.linuxidc.com/Linux/2014-07/104894.htm
VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm
Samba 文件共享服务器加入 Windows Server 2003 域 http://www.linuxidc.com/Linux/2013-06/86391.htm
Samba 安装配置 http://www.linuxidc.com/Linux/2013-06/86101.htm
CentOS 6.2 下 Samba 服务的配置 http://www.linuxidc.com/Linux/2013-01/78390.htm
Samba 服务器安装和配置 http://www.linuxidc.com/Linux/2014-12/110459.htm
Win7+VMware+Fedora18 Samba 服务器的搭建图解 http://www.linuxidc.com/Linux/2013-01/78234.htm
———————————— 分割线 ————————————
Samba 的详细介绍:请点这里
Samba 的下载地址:请点这里