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.www58058.com/71125
能使用markdown并給出實驗結果會更好~繼續加油~