1、建立samba共享,共享目录为/data,要求:(描述完整的过程)
1)共享名为shared,工作组为magedu;
2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;
# groupadd develop # useradd -G develop gentoo # useradd -G develop centos # useradd ubuntu # echo "ubuntu" | passwd --stdin ubuntu # yum install samba # vim /etc/samba/samba.conf [global] workgroup = magedu hosts allow = 172.16. [shared] comment = TEST path = /data guest ok = no valid users = gentoo,centos,ubuntu writable = yes write list = +develop # mkdir /data; chown :develop /data # smbpasswd -a centos # smbpasswd -a gentoo # smbpasswd -a ubuntu # service nmb start; service smb start
2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
1)基于虚拟用户的访问形式;
2)匿名用户只允许下载,不允许上传;
3)禁锢所有的用户于其家目录当中;
4)限制最大并发连接数为200;
5)匿名用户的最大传输速率512KB/s;
6)虚拟用户的账号存储在mysql数据库当中;
7)数据库通过NFS进行共享。
准备工作
node1:192.168.90.2 # mkdir /data # vim /etc/exports /data 192.168.90.3(rw) # service nfs start node2:192.168.90.3 # mkdir /mydata # showmount -e 192.168.90.2 # vim /etc/fstab 192.168.90.2:/data /mydata nfs defaults 0 0 # chown -R mysql.mysql /mydata
安装MySQL、vsftpd和pam_mysql
# yum install -y vsftpd pam_mysql 以二进制格式安装MySQL,关键一步指明datadir # scripts/mysql_install_db --user=mysql --datadir=/mydata # vim /etc/my.cnf [mysqld] datadir=/mydata skip_name_resolve=ON
创建虚拟用户账户
准备数据库及相关表
mysql> CREATE DATABASE vsftpd; mysql> GRANT SELECT ON vsftpd.* TO vsftpd@192.168.90.% IDENTIFIED BY '000000'; mysql> FLUSH PRIVILEGES; mysql> use vsftpd; mysql> CREATE TABLE users ( -> id INT AUTO_INCREMENT NOT NULL, -> name CHAR(20) BINARY NOT NULL, -> password CHAR(48) BINARY NOT NULL, -> PRIMARY KEY(id) -> );
添加测试用虚拟用户,此处使用PASSWARD函数加密后存储
mysql> INSERT INTO users(name,password) VALUES('tom',password('000000'));
配置vsftpd
创建pam认证所需文件
# vim /etc/pam.d/vsftpd.mysql//-->文件名可任意 auth required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于认证用户 account required /lib64/security/pam_mysql.so user=vsftpd passwd=000000 host=192.168.90.3 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2//-->用于检查用户时效性 //-->相关详细配置参数可参照pam_mysql安装后生成文件/usr/share/doc/pam_mysql-0.7/README,man即可。
修改vsftpd的配置文件,使其适应认证
建立虚拟用户映射的系统用户及对应的目录 # useradd -s /sbin/nologin -d /ftproot vuser # chmod go+rx /ftproot 请确保/etc/vsftpd.conf中已经启用了以下选项 anonymous_enable=YES local_enable=YES write_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO chroot_local_user=YES anno_max_rate=512000 max_clients=200 而后添加以下选项 guest_enable=YES guest_username=vuser 并确保pam_service_name选项的值如下所示 pam_service_name=vsftpd.mysql
启动vsftpd服务并进行验证。
Note:针对不同类型的用户应分别进行配置!此处仅仅演示简单的配置过程。
原创文章,作者:Jeason,如若转载,请注明出处:http://www.178linux.com/52612
评论列表(1条)
需求完成了,最好附一些说明性的示例,能清楚的知道那些参数作用于那个服务之中的那个用户之类的