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网络的主机访问;
# yum install -y samba
# service smb start
# service nmb start
# groupadd develop
# useradd -s
/sbin/nologin -G develop gentoo
# useradd -s
/sbin/nologin -G develop centos
# useradd -s
/sbin/nologin ubuntu
# echo
“gentoo” | passwd –stdin gentoo
# echo
“centos” | passwd –stdin centos
# echo
“ubuntu” | passwd –stdin ubuntu
# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
# smbpasswd -a centos
# smbpasswd -a Ubuntu
# pdbedit –L
setfacl
-m g:develop:rwx /data/
getfacl
/data/
# cp /etc/samba/smb.conf{,.bak}
# vim /etc/samba/smb.conf
[shared]
workgroup = magedu
hosts allow = 172.16.0.0/16
comment = Shared test
path = /data
valid users = gentoo,centos,ubuntu,+develop
read list = ubuntu
write list = +develop
writable = yes
printable
= no
2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
1)基于虚拟用户的访问形式;
2)匿名用户只允许下载,不允许上传;
3)禁锢所有的用户于其家目录当中;
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
一、安装所需要程序
##安装mysql和pam_mysql
#
yum -y install mysql-server mysql-devel
pam_mysql vsftpd
二、创建虚拟用户账号
1.准备数据库及相关表
首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,这里将其创建为vsftpd数据库。
mysql> create database vsftpd;
mysql> grant select on vsftpd.* to centos@localhost identified by
‘centos’;
mysql> grant select on vsftpd.* to centos@127.0.0.1 identified by
‘centos’;
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)
);
2、添加测试的虚拟用户
根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD函数加密后存储。
mysql> insert into users(name,password)
values(‘centos’,password(‘centos’));
mysql> insert into users(name,password)
values(‘gentoo’,password(‘gentoo’));
三、配置vsftpd
1.建立pam认证所需文件
#vi /etc/pam.d/vsftpd.mysql
添加如下两行
auth required /lib/security/pam_mysql.so user=centos passwd=centos host=localhost db=vsftpd table=users
usercolumn=centos passwdcolumn=centos crypt=2
account required /lib/security/pam_mysql.so user=centos passwd=centos
host=localhost db=vsftpd table=users usercolumn=gentoo
passwdcolumn=gentoo crypt=2
。
#建立虚拟用户映射的系统用户及对应的目录
#
useradd -s /sbin/nologin -d /var/ftproot vuser
#
chmod go+rx /var/ftproot
2.修改vsftpd的配置文件,使其适应mysql认证
# vi /etc/vsftpd/vsftpd.conf
请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES#将用户禁锢在自己的家目录中
guest_enable=YES
guest_username=vuser#指明虚拟用户映射到的系统用户
pam_service_name=vsftpd.mysql#指明使用/etc/pam.d/vsftpd.mysql来认证
user_config_dir=/etc/vsftpd/vusers_config#指明虚拟用户的配置文件
创建所需要目录,并有虚拟用户提供配置文件
[root@Vsftp vsftpd]# mkdir
/etc/vsftpd/vusers_config
[root@Vsftp vsftpd]# cd
/etc/vsftpd/vusers_config
[root@Vsftp vusers_config]# touch zhangsan
lisi
配置虚拟用户的权限
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让zhangsan用户具有上传文件的权限,
可以修改/etc/vsftpd/vusers_config/zhangsan文件,在里面添加如下选项即可。
[root@Vsftp vusers_config]#cat
/etc/vsftpd/vusers_config/zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@Vsftp vsftpd]# service vsftpd start
三、基于匿名用户的vsftp
[root@Vsftp vsftpd]# grep -v ^# vsftpd.conf
anonymous_enable=YES
local_enable=NO
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
download_enable=YES#允许下载
max_clients=200#允许并发客户端数目
anon_max_rate=512k#最大下载速度
listen=YES
pam_service_name=vsftpd
userlist_enable=YES#针对系统用户访问的控制策略
tcp_wrappers=YES
# service vsftpd restart
原创文章,作者:victorli88,如若转载,请注明出处:http://www.178linux.com/71125
评论列表(1条)
能使用markdown并给出实验结果会更好~继续加油~