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網絡的主機訪問;
1、創建用戶及組
[root@Samba ~]# groupadd develop [root@Samba ~]# useradd -G develop gentoo [root@Samba ~]# useradd -G develop centos [root@Samba ~]# useradd ubuntu [root@Samba ~]# for i in gentoo centos ubuntu;do echo $i:$i | chpasswd;done 2、安裝Samba,并修改配置文件 [root@Samba ~]# yum -y install samba [root@Samba ~]# cd /etc/samba/ [root@Samba samba]# cp smb.conf{,.bak} [root@Samba samba]# vim smb.conf 修改 workgroup = MYGROUP 為 workgroup = magedu 修改 passdb backend = tdbsam 為 passdb backend = smbpasswd smb passwd file = /etc/samba/smbpasswd 添加 hosts allow = 172.16.0.0/16 末尾添加 [shared] comment = Magedu.com path = /data guest = yes writable = no write list = +develop 3、創建Samba用戶并啟動服務 [root@Samba samba]# smbpasswd -a gentoo New SMB password: Retype new SMB password: Added user gentoo. [root@Samba samba]# smbpasswd -a centos New SMB password: Retype new SMB password: Added user centos. [root@Samba samba]# smbpasswd -a ubuntu New SMB password: Retype new SMB password: Added user ubuntu.
2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)
1)基于虛擬用戶的訪問形式;
2)匿名用戶只允許下載,不允許上傳;
3)禁錮所有的用戶于其家目錄當中;
4)限制最大并發連接數為200:;
5)匿名用戶的最大傳輸速率512KB/s
6)虛擬用戶的賬號存儲在mysql數據庫當中。
7)數據庫通過NFS進行共享。
配置環境: nfs服務器:192.168.1.61 vsftp、mysql服務器:192.168.1.64 一、通過NFS服務器共享數據庫 1、在192.168.1.61服務器上啟動nfs服務,設置共享目錄為/data [root@NFS ~]# mkdir /data [root@NFS ~]# groupadd -g 27 mysql [root@NFS ~]# useradd -g mysql -u 27 -s /sbin/nologin -M mysql [root@NFS ~]# chown -R mysql.mysql /data/ [root@NFS ~]# vim /etc/exports /data 192.168.1.64(rw,no_root_squash) [root@NFS ~]# service nfs start 2、在192.168.1.64服務器上安裝mysql,創建目錄/mydata 用來掛載nfs共享目錄。 [root@Vsftp ~]# yum -y install mysql mysql-server mysql-devel [root@Vsftp ~]# mkdir /mydata [root@Vsftp ~]# chown -R mysql.mysql /mydata/ [root@Vsftp ~]# mount 192.168.1.61:/data /mydata/ [root@Vsftp ~]# vim /etc/my.cnf 修改 datadir=/var/lib/mysql 為 datadir=/mydata #初始化mysql [root@Vsftp ~]# mysql_install_db --datadir=/mydata/ [root@Vsftp ~]# service mysqld start 二、基于虛擬用戶的vsftp 1、在192.168.1.64服務器上創建數據庫 mysql> create database vsftpd; #創建數據庫用戶,授權對vsftpd數據庫有查詢權限 grant select on vsftpd.* to vsftpd@127.0.0.1 identified by '123456'; mysql> grant select on vsftpd.* to vsftpd@192.168.1.64 identified by '123456'; mysql> flush privileges; #在vsftpd數據庫中創建表users 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) ); #插入虛擬用戶 mysql> insert into users (name,password) values ('zhangsan',password('123456')); mysql> insert into users (name,password) values ('lisi',password('123456')); 2、在192.168.1.64服務器上安裝vsftpd服務及pam_mysql認證 #安裝epel源 [root@Vsftp ~]# rpm -ivh epel-release-latest-6.noarch.rpm #安裝vsftpd服務及pam_mysql認證 [root@Vsftp ~]# yum -y install vsftpd pam_mysql 3、建立pam認證需要的文件 [root@Vsftp ~]# vim /etc/pam.d/vsftpd.mysql auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table= users usercolumn=name passwdcolumn=password crypt=2 4、添加虛擬用戶對應的系統用戶,使其適用mysql認證 [root@Vsftp ~]# useradd -s /sbin//nologin -d /ftproot vuser [root@Vsftp ~]# chmod +rx /ftproot/ 5、配置vsftp服務 [root@Vsftp ~]# cd /etc/vsftpd/ [root@Vsftp vsftpd]# cp vsftpd.conf{,.bak} 請確保/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#指明虛擬用戶的配置文件 6、創建所需要目錄,并有虛擬用戶提供配置文件 [root@Vsftp vsftpd]# mkdir /etc/vsftpd/vusers_config [root@Vsftp vsftpd]# cd /etc/vsftpd/vusers_config [root@Vsftp vusers_config]# touch zhangsan lisi 7、配置虛擬用戶的權限 虛擬用戶對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 [root@Vsftp vsftpd]# service vsftpd restart
原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/59537