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.www58058.com/52612
需求完成了,最好附一些說明性的示例,能清楚的知道那些參數作用于那個服務之中的那個用戶之類的