作为一个网络管理员,即想保证服务器的稳定和安全,有想实现用户的操作简单。这种期望有时似乎难以完美解决。
最近,想在服务器(Ubuntu Server 11.04)上搭建一个Samba服务器和FTP服务器。FTP软件选用的是号称最安全的VSFTPD软件包。下面描述了配置这两个服务时的纠结历史。
首先,希望达到的效果:
1.用户账号使用数据库存储(eg.MySQL)。这样一方面减少本地一些没用的帐户,另一方面方面多个服务共享帐户。
2.FTP服务器使用虚拟帐户管理(减少本地用户),每个用户有自己专有的目录可供读写,还有一个公共的目录只供下载。系统不允许匿名帐户,但是有一个超级用户(非root)可读写公共目录(不能读写用户专有目录,保护隐私)。
3.Samba服务使用通FTP相同的认证密码数据库。访问权限同FTP。稍微不用的是,Windows系统通过网络邻居访问时,不需要弹出登陆请求框就可以访问公共目录;可以看到所有用户专有目录名,但是访问前需要密码登陆。
这样的要求到现在仍然没能够实现 (-_- !!!~~~)
A.VSDFTPD实现虚拟用户,并且可以为每个用户制定配置选项选择使用虚拟用户还是本地用户。认证机制可以本地用户,也可用PAM实现其他各种认证。访问权限,也可根据文件系统权限和用户认证机制协同实现。此项服务基本没什么问题。
B.Windows系统访问Samba共享文件,需要使能密码加密选项,但是打开这个选项,就不能使用PAM机制来尽心用户认证(后来测试貌似仍可以)。
C.为了实现,访问Samba,一开始不需要密码,仅当访问私有目录