案例一:给公司每人一个备份文件的远程备份目录
1.1 公司员工能够映射自己的目录到自己的计算机上
实现步骤:
1)启动smb服务
service smb start
2)添加用户和smb用户
adduser �Cs /sbin/nologin 用户
smbpasswd �Ca 用户
3)用户在自己的计算机上添加映射
①
映射网络驱动器
右击“我的电脑”――选择驱动器号,并且输入\\smb服务器IP,然后输入smb用户和密码
②
快捷方式
右击“桌面”――输入\\smb服务器IP,然后输入smb用户和密码
4)员工要想存放或取出个人文件,只需放入我的电脑中映射的那个盘符或者桌面的快捷方式中即可。
1.2 用户能够看到多一个发布公告的目录
实现步骤
1)添加一个用户和smb用户用于管理公告目录
adduser �Cs /sbin/nologin gonggao
smbpasswd �Ca gonggao
2)更改用户gonggao的宿主目录gonggao的权限(gonggao用户完全控制,其它用户只有在读取和执行权限)
chmod 755 gonggao
3)修改samba服务配置文件,添加公告目录的配置(默认有读取权限)
[public]
path = /home/gonggao
public = yes
writable = yes
4)普通员工就可以看到公告目录,只能读取,而gonggao用户就可以进行公告的发布,修改。
案例二:给公司做一个电影,MP3,游戏等文件共享的服务器
2.1 用户能够不用用户名和密码访问共享服务器
2.2用户能够通过ftp进行目录的更新
实现步骤:
1)启动vsftpd服务
service vsftpd start
2)添加一个用户对ftp服务器可以更新
adduser �Cs /sbin/nologin ftpmanager
passwd ftpmanager
3)更改ftpmanager目录的权限
chmod 755 ftpmanager
4)在ftpmanager目录下创建我们需要的目录,如MP3,电影,MV等
5)修改samba服务配置文件,添加我们在ftpmanager目录下创建的目录(默认有读取权限)
[MP3]
path = /home/ftpmanager/MP3
[MV]
path = /home/ftpmanager/MV
[movies]
path = /home/ftpmanager/movies
[video]
path = /home/ftpmanager/video
6)重启samba服务
Service smb restart
7)用户可创建快捷方式来使用资源,ftpmanager用户可通过ftp对资源进行更新。
案例三:保证每个人不需要用户名和密码就可以使用ftp,下载需要的东西,同时也能够上传一些东西到服务器
3.搭建vsftpd的匿名用户访问FTP服务器
3.1 限制匿名用户的下载速度
3.2 匿名用户能够上传文件到服务器
实现步骤:
1)调整匿名用户上传文件存放目录权限(匿名用户对应的系统账户为ftp,其宿主目录为“/var/ftp”.将/var/ftp/目录中的子目录pub的的其它用户权限加上x写的权限,供上传文件使用)
cd /var/ftp
chmod o+w pub
2)修改vsftpd.conf配置文件(开启匿名用户访问、上传)
anonymous_enable=NO //
开启匿名用户访问
local_enable=YES
write_enable=YES //
允许开放写的权限
anon_umask=022 //
设置匿名用户上传建立文件时的权限掩码
anon_upload_enable=YES //
允许匿名上传文件
anon_mkdir_write_enable=YES //
允许匿名用户创建目录
anon_max_rate=102400 //
限制匿名用户的最大传输速率(0为无限制),单位为字节
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
3)重新启动vsftpd服务
service vsftpd restart
4)在客户端访问FTP服务器,测试上传和下载功能
案例四:保证每个人使用ftp可以对自己私人文件进行备份,需要的时候下载到本地使用,需要保存重要数据时上传到FTP服务器
4.搭建本地的用户访问ftp服务器
4.1 用户可以登陆和使用ftp服务器
4.2 限制用户的下载速度
4.3 添加haha和hehe用户,haha能登陆,hehe不能登陆(注:服务器仅能让haha登陆,别人都不行)
实现步骤:
1)添加FTP用户(即本地用户)(为了安全起见,不允许登录系统)
useradd
�C
s /sbin/nologin haha
passwd haha
useradd
�C
s /sbin/nologin hehe
passwd hehe
useradd
�C
s /sbin/nologin haha
passwd haha
2)将haha用户添加到/etc/vsftpd/user_list文件中
2)修改vsftpd.conf配置文件
anonymous_enable=NO
local_enable=YES //
启用本地用户
local_umask=022 //
设置本地用户上传建立文件的默认权限掩码
write_enable=YES //
允许开放写权限
chroot_local_user=YES //
为安全起见,将用户禁锢与其宿主目录中
max_clients=20 //
限制同时客户连接数为最多20个
max_per_ip=2 //
限制同一台客户机连接数为最多2个
local_max_rate=102400 //
本地用户下载、上传限速为100KB/s
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_deny=NO //
仅允许列表中的用户账户登录
tcp_wrappers=YES
3)重新启动vsftpd服务
service vsftpd restart
4)在客户端访问FTP服务器,测试用户haha和hehe的登陆情况,然后用能登录的用户登录到FTP服务器测试下载及上传功能。
案例五:保证每个人通过验证都可以访问相同的FTP资源,可以下载和上传,并且可以针对单独用户设置上传和下载的权限
5.建立基于虚拟用户的vsftpd服务
实现步骤:
1.
建立虚拟FTP用户的帐号数据库文件
①
安装db4-utils软件包,获得db_load命令工具
rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
②
建立文本格式的用户名/密码列表文件(奇数行为用户名,偶数行为上一行用户的密码)例如:
vi /etc/vsftpd/vusers.list
zhangsan
123
lisi
123
③
用db_load工具将列表文件转化为DB数据库文件
cd /etc/vsftpd/
db_load -T -t hash -f vusers.list vusers.db
2.
创建FTP根目录及虚拟用户映射的系统用户
①
添加一个系统用户账号(该账号无需设置密码及登陆系统,该用户账号的宿主目录作为所有虚拟用户登陆后的共同FTP根目录。)
useradd -d /var/ftproot -s /sbin/nologin virtual
②
更改FTP根目录权限
chmod 755 /var/ftproot/
③
建立测试文件
ls -lh /boot > /var/ftproot/vutest.file
3.
建立支持虚拟用户的PAM认证文件(PAM配置文件主要用于为程序提供用户认证控制,vsftpd服务使用的默认PAM配置文件为/etc/pam.d/vsftpd,可以参考该文件的格式建立新的PAM 配置文件,用于虚拟用户的认证控制。)
vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers.db
account required pam_userdb.so db=/etc/vsftpd/vusers.db
4.
在vsftpd.conf文件中添加虚拟用户支持(添加如下配置项即可)
anonymous_enable=NO
local_enable=YES //
使用虚拟用户需要启用本地用户
anon_umask=022 //
设置虚拟用户所上传文件的默认权限掩码
write_enable=YES
guest_enable=YES //
启用用户映射功能
guest_username=virtual //
将映射用户指定为virtual
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.vu //
修改使用的PAM文件位置
userlist_enable=YES
tcp_wrappers=YES
5.
为个别虚拟用户建立独立的配置文件
①
修改vsftpd.conf主配置文件,添加用户配置目录支持
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
//
添加此行配置行,指定用户配置目录位置
②
为用户zhangsan、lisi建立独立的配置目录及文件
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir/
vi zhangsan
anon_upload_enable=YES //
是否允许上传
anon_mkdir_write_enable=YES //
是否可以修改建立目录
anon_other_write_enable=YES //
是否可以修改文件
touch lisi
6.
重新加载vsftpd配置
service vsftpd restart
7.
使用虚拟FTP账户访问测试
①
使用zhangsan用户登陆vsftpd服务器,可以浏览、下载文件、更改文件,也可以上传文件。
②
使用lisi用户登陆vsftpd服务器,可以浏览、下载文件,但无法更改文件,上传文件。
本文出自 “刘文斌” 博客,谢绝转载!