Samba 文件共享
Samba文件共享主要针对windows客户端,如果我要实地的搭建一个文件服务器,首先要规划一下我的文件服务器主要干什么用。
1. 可以把samba共享的目录放在单独的一个分区
2. 在lvm 上创建samba服务器,方便我以后扩容我的samba共享磁盘,
3. 是否启用磁盘配额,分部门共享只显示此部门的文件
实验环境:关闭防火墙,关闭selinux(关闭selinux需要重启),samba服务器的ip地址为 20.0.0.1/24,xp 客户端的ip地址为20.0.0.2/24,linux 客户端的ip地址为20.0.0.3/24 。
第一步:安装samba
[root@localhost ~]# mount /dev/cdrom /media
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# vim /etc/yum.repos.d/a.repo
[a]
name=a
baseurl=file:///media
gpgcheck=0
[root@localhost ~]# yum install samba –y
默认samba的服务器的配置文件/etc/samba/smb.conf 这个文件
如果我要共享我根目录下的haha目录,需要先建立haha目录
Mkdir /haha
在/etc/samba/smb.conf 最后边写共享的目录,位置
我只写了共享目录,其他没做任何修改。
此时在客户端测试!
客户端要求我输入我用户名我密码,因为我的安全级别是user。我将安全级别user改为share
改为share后测试!
改为share就是任何人可以访问,这样的话不安全,但是我没有写任何权限,默认只有读权限,
因为我在根目录下创建的haha,haha本身就有权限,我把我在根目录下的haha给他最大权限,但是我在samba里面做限制,它就会按我samba的权限去执行,
Vim /etc/samba/smb.conf
我将安全级别改为user
我将haha目录的权限改为777
[root@localhost /]# ll -d haha/
drwxr-xr-x 2 root root 4096 3月 22 04:51 haha/
[root@localhost /]# chmod 777 haha/
[root@localhost /]# groupadd it 创建了一个it组
[root@localhost /]# useradd -g it -s /usr/sbin/nologin aa
创建aa用户,将aa加入到it组中,但是不能从系统登录
[root@localhost /]# smbpasswd -a aa 将系统用户添加为samba用户
New SMB password: 密码为123
Retype new SMB password:
Added user aa.
客户端测试!
因为haha默认其他人是可读权限,而我给haha文件夹最大权限,我想让aa,在里面可写,而bb不能写。
那么我建立一个bb的用户
[root@localhost /]# useradd -g it -s /usr/sbin/nologin bb
创建bb用户,将bb加入到it组中,但是不能从系统登录
[root@localhost /]# smbpasswd -a aa 将系统用户添加为samba用户
New SMB password: 密码为123
Retype new SMB password:
Added user aa.
在vim /etc/samba/smb.conf
Write list 创建了一个写的列表,只有这个列表内的用户和组才可以写,其他没有写权限,
测试一下!
我先用aa登录
在haha的 目录下新建一个文件夹,然后删除文件夹我都是具有权限的。
下面我用bb用户登录测试!
在用bb登录之前我要将我之前访问的缓存删除一下
此时我用bb登录,它就会显示bb用户的宿主目录
我创建文件夹,它会提示我无法创建,我上传也是我无法上传到的。
我想让aa,都具有写入的权限,因为aa,bb都是it组,
Vim /etc/samba/smb.conf
如果需要在写入权限的列表中加入用户和组的话,中间使用“,”隔离开。
Service smb restart
测试一下! aa ,bb都具有写入权限。
在上边的实验中,我们使用不同的 用户登录,会每个用户的宿主目录,这个samba可以设置。
如果我将宿主目录下的写权限给取消那么aa用户,bb用户就不能在宿主目录下创建文件了
测试!
我们去aa,bb的宿主目录权限
aa,bb。用户都具有写的权限,但是我在samba里面做限制了,它依然没有写的权限,在这里宿主目录的权限和samba的权限取其交集,也就是最小权限。
我在根目录在创建一个共享目录123.让所有可写
因为权限是取其权限交集的最小权限
因为我在根目录建立了一个123的文件,因为我是用root用户建立的
我在samba的配置文件中给了其他可写的权限,但是123文件夹自身的权限其他人不可写,那么我需要给123写的权限,为了做实验方便,我直接给他最大的权限。同时我用户aa登录的时候不让他显示我aa的宿主目录。
测试!
不显示我的宿主目录
我之前还共享了一个haha文件夹,因为我将haha文件夹隐藏了,所以就看不见了
在linux客户端进行测试 ,客户端的ip地址是20.0.0.3
连接到我samba的服务器上了。
使用命令查看,提示输入密码的时候直接按回车键ok
在服务器端使用命令查看