1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; 3)添加samba用戶gentoo,centos和ubuntu,密碼均為“magedu”; 4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問; 5)此samba共享服務僅允許來自于10.0.0.0/16網絡的主機訪問; 2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程) 1)基于虛擬用戶的訪問形式; 2)匿名用戶只允許下載,不允許上傳; 3)禁錮所有的用戶于其家目錄當中; 4)限制最大并發連接數為200:; 5)匿名用戶的最大傳輸速率512KB/s 6)虛擬用戶的賬號存儲在mysql數據庫當中。 7)數據庫通過NFS進行共享。 題目1: 1.安裝samba [root@rs1 ~]# yum -y install samba 2.添加組,用戶以及創建共享目錄 [root@rs1 ~]# groupadd develop [root@rs1 ~]# useradd -G develop gentoo [root@rs1 ~]# useradd -G develop centos [root@rs1 ~]# for user in {gentoo,centos,ubuntu};do echo $user;done [root@rs1 ~]# mkdir /data 3.修改共享目錄權限 [root@rs1 ~]# chmod g+w /data 4.編輯samba配置文件: /etc/samba/smb.conf,添加如下配置: [shared] comment = week test path = /data browseable = yes public = no write = yes write list = +develop hosts allow = 10.0.0.0/255.255.0.0 5.啟動服務: [root@rs1 ~]# systemctl start smb.service 查看是否啟用端口445,139 6.測試: [root@rs2 ~]# smbclient -L 10.0.0.21 -U ubuntu Enter gentoo's password: Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.2.10] Sharename Type Comment --------- ---- ------- shared Disk week test IPC$ IPC IPC Service (Samba Server Version 4.2.10) Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.2.10] Server Comment --------- ------- RS1 Samba Server Version 4.2.10 Workgroup Master --------- ------- MAGEDU RS1 [root@rs2 ~]# mount -t cifs //10.0.0.21/shared /mnt -o username=ubuntu -o password=magedu mount: //10.0.0.21/shared is write-protected, mounting read-only mount: cannot mount //10.0.0.21/shared read-only [root@rs2 ~]# mount -t cifs //10.0.0.21/shared /mnt -o username=gentoo -o password=magedu [root@rs2 ~]# df -hT|grep mnt //10.0.0.21/shared cifs 18G 2.3G 16G 13% /mnt [root@rs2 ~]# cd /mnt [root@rs2 mnt]# touch test1 [root@rs2 mnt]# ll total 0 -rw-r--r-- 1 1003 1006 0 Nov 11 23:01 test1 [root@rs1 ~]# id gentoo uid=1003(gentoo) gid=1006(gentoo) groups=1006(gentoo),1005(develop) 題目2: 環境: rs2:mysql+vsftpd rs1:smaba 1.安裝MySQL [root@rs2 ~]# groupadd -g 1100 mysql [root@rs2 ~]# useradd -u 1100 -g mysql -M mysql [root@rs2 ~]# mount -t cifs //10.0.0.21/mysql /opt/mysql -o username=mysql -o password=magedu [root@rs2 ~]# chown -R mysql.mysql /opt/mysql [root@rs2 ~]# tar xf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ [root@rs2 ~]# cd /usr/local [root@rs2 local]# ln -sv mysql-5.6.31-linux-glibc2.5-x86_64 mysql [root@rs2 local]# cd mysql [root@rs2 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/opt/mysql [root@rs2 mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@rs2 mysql]# chmod +x /etc/init.d/mysqld [root@rs2 mysql]# cp support-files/my-default.cnf /etc/my.cnf [root@rs2 mysql]# vim /etc/my.cnf basedir = /usr/local/mysql datadir = /opt/mysql skip_name_resolve = 1 character_set_server = utf8 innodb_file_per_table = 1 [root@rs2 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql [root@rs2 mysql]# vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib [root@rs2 mysql]# ldconfig -v [root@rs2 mysql]# vim /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin:$PATH [root@rs2 mysql]# source /etc/profile.d/mysql.sh [root@rs2 mysql]# service mysqld start 2.安裝vsftpd [root@rs2 ~]# yum -y install vsftpd pam-devel 安裝pam_mysql: [root@rs2 ~]# tar xf pam_mysql-0.7RC1.tar.gz [root@rs2 ~]# cd pam_mysql-0.7RC1 [root@rs2 pam_mysql-0.7RC1]# ./configure --with-mysql=/usr/local/mysql/ --with-pam-mods-dir=/lib64/security/ [root@rs2 pam_mysql-0.7RC1]# make install 編輯vsftpd.conf配置文件: anonymous_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO anon_max_rate=512000 max_clients=200 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES download_enable=YES ascii_upload_enable=YES ascii_download_enable=YES chroot_local_user=YES listen=YES listen_ipv6=NO guest_enable=YES guest_username=mysqlftp virtual_use_local_privs=YES pam_service_name=vsftpd tcp_wrappers=YES vsftpd_log_file=/var/log/vsftpd.log allow_writeable_chroot=YES 創建虛擬用戶映射賬戶: [root@rs2 ~]# useradd mysqlftp -d /ftproot 編輯vsftpd的pam認證文件:/etc/pam.d/vsftpd #%PAM-1.0 session optional pam_keyinit.so force revoke auth sufficient /lib64/security/pam_mysql.so user=vsftp passwd=redhat \ host=127.0.0.1 db=ftp table=users usercolumn=name passwdcolumn=password crypt=2 auth requiredpam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth requiredpam_shells.so auth includepassword-auth account sufficient /lib64/security/pam_mysql.so user=vsftp passwd=redhat \ host=127.0.0.1 db=ftp table=users usercolumn=name passwdcolumn=password crypt=2 account includepassword-auth session required pam_loginuid.so session includepassword-auth 備注:此認證文件可以使vsftpd服務應用虛擬賬號和本地賬號;如果只想使用虛擬賬號機制, 則只使用pam_mysql相關的2行;此文件認證機制順序:先檢查pam_mysql認證機制;后檢查本地賬號密碼認證機制; 創建vsftpd使用的數據庫: mysql> create database ftp; mysql> use ftp; 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> grant SELECT on ftp.* to vsftp@localhost identified by 'redhat'; mysql> grant SELECT on ftp.* to vsftp@127.0.0.1 identified by 'redhat'; 添加一個虛擬賬號: mysql> insert into users(name,password) values('nginx',password('redhat')); 啟動服務: [root@rs2 ~]# systemctl start vsftpd 3.測試 [root@rs1 ~]# lftp -u nginx,redhat 10.0.0.22 lftp nginx@10.0.0.22:~> ls -rw-r--r-- 1 0 0 1667 Nov 12 08:58 passwd lftp nginx@10.0.0.22:/> exit [root@rs1 ~]# lftp 10.0.0.22 lftp 10.0.0.22:~> ls drwxr-xr-x 2 0 0 6 Mar 31 2016 pub lftp 10.0.0.22:/> quit [root@rs1 ~]# lftp -u devon,redhat 10.0.0.22 lftp devon@10.0.0.22:~> ls -rw-r--r-- 1 0 0 1667 Nov 12 08:58 passwd lftp devon@10.0.0.22:/> quit [root@rs1 ~]# lftp -u nginx,redhat 10.0.0.22 lftp nginx@10.0.0.22:~> ls -rw-r--r-- 1 0 0 1667 Nov 12 08:58 passwd lftp nginx@10.0.0.22:/> quit
原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/76616