samba文件共享及账户映射
实验介绍:在虚拟机Linux系统上安装sanmba服务,并在另外一台虚拟机的win7系统上访问共享文件夹,主要分为:匿名访问、身份验证访问、以及添加白名单和为了保护服务器安全的账户映射功能。
1、 在Linux系统上安装samba服务
2、修改samba服务的配置文件,在 /etc/samba/smb.conf中进行修改,由于原文件中注释内容较多,故将源文件中的注释删除掉。
3、 先进行匿名访问,修改以下内容
①将其中的user改为share(share用于匿名访问,user用于身份验证)
4、 在最下面添加需要共享的文件夹的属性,如路径、命名、是否可浏览、是否可修改、是否对外可见以及新建文件和新建目录时的初始权限。
5、 在/opt目录下创建abc目录,由于最终共享文件夹的权限取的是共享权限和文件夹权限的交集,故我们需要把文件夹权限提升
6、 关闭linux的增强安全功能和防火墙
7、开启samba服务,并查看对应的端口开启(TCP协议下的139是客户端口,445是服务端的端口)
8、下面到win7系统下,设置IP,使得linux和win7能够ping通。
9、 在win7的任务栏中输入192.168.1.16即UNC路径,可以看到test文件夹,并可以在里面创建文件,同样在linux中/opt/abc目录下也能看到创建的文件。
10、下面设置身份验证共享,首先在linux中添加用户以及为其设置samba账户密码(与系统账户密码没有联系)。
11、 需要修改samba配置文件
①将security改为user
②在最后一行添加新的文件夹配置
12、 重启samba服务以及win7系统中清空远程连接缓存(负责无法进行身份验证)
13、 依然采用UNC路径登录,这时候需要身份验证,登录进去后会多出一个登录用户的家目录。
14、 下面设置文件共享白名单(即zhangsan可以访问username文件夹,lisi不能访问该文件夹),只需要在smb.conf配置文件,username块中加两行代码。
write list = zhangsan
valid users = zhangsan即可,然后win7上面清空远程访问的缓存,linux重启下samba服务,再进行连接
发现用lisi的账户依然可以登录,但是进去后无法访问username文件夹,想打开username文件夹,会弹出身份验证窗口,但是无法登陆。退出后用zhangsan账户再登录samba共享服务器就可以打开。
15、 最后是账户映射,主要用于服务器安全,否则一旦暴露linux用户名,密码容易被破解。
在/etc/samba/smbusers里面进行配置添加下图所示的代码。
在/etc/samba/smb.conf的配置文件下添加一行代码,将映射文件的路径添加到配置里面
username map = /etc/samba/smbusers,然后win7上面清空远程访问的缓存,linux重启下samba服务,再进行连接。用u01登录,验证成功,并且是以zhangsan的身份登录的,账户映射成功。