馬哥教育網絡21期+第十三周練習博客
1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 在服務器上安裝samba ]# yum install samba 創建共享目錄/data 啟動samba的nmb和smb的服務 ]# service nmb start; service smb start 這里我使用了單獨的磁盤分區進行samba的文件存儲 將區分好的磁盤空間掛載至data這個目錄下 2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; 增加用戶 useradd -s /sbin/nologin -G develop gentoo echo "gentoo" | passwd --stdin gentoo useradd -s /sbin/nologin -G develop centos echo "centos" | passwd --stdin centos useradd -s /sbin/nologin ubuntu echo "ubuntu" | passwd --stdin ubuntu 創建develop組編輯/etc/group配置文件將gentoo和centos加入到develop組組中 [root@ns2 samba]# id gentoo uid=501(gentoo) gid=501(gentoo) groups=501(gentoo),504(develop) [root@ns2 samba]# id centos uid=502(centos) gid=502(centos) groups=502(centos),504(develop) 3)添加samba用戶gentoo,centos和ubuntu,密碼均為“mageedu”; [root@ns2 samba]# smbpasswd -a gentoo New SMB password: Retype new SMB password: Added user gentoo. [root@ns2 samba]# smbpasswd -a centos New SMB password: Retype new SMB password: Added user centos. [root@ns2 samba]# smbpasswd -a ubuntu New SMB password: Retype new SMB password: Added user ubuntu. 這里先進行測試查看在另外一臺服務器上是否可以使用以上的三個用戶進行訪問 [root@localhost ~]# smbclient -L 172.16.0.122 -U centos Enter centos's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba Server Version 3.6.23-36.el6_8) centos Disk Home Directories Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8] Server Comment --------- ------- NS2 Samba Server Version 3.6.23-36.el6_8 WIN-21CF1KE3RK9 ADMIN Workgroup Master --------- ------- WORKGROUP WIN-21CF1KE3RK9 4)此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問; 編寫/etc/smb.conf配置文件 [shared] commnet = WHK work path = /data valid users = gentoo,centos,ubuntu,@develop read list = ubuntu write list = @develop writable = yes printable = no 這里嘗試登錄 [root@localhost ~]# smbclient //172.16.0.122/data -U centos Enter centos's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8] tree connect failed: NT_STATUS_BAD_NETWORK_NAME [root@localhost ~]# smbclient //172.16.0.122/shared -U centos Enter centos's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8] smb: \> smb: \> smb: \> ls . D 0 Sat Sep 24 19:56:02 2016 .. DR 0 Sat Sep 24 19:22:08 2016 lost+found D 0 Sat Sep 24 19:56:02 2016 40330 blocks of size 524288. 37938 blocks available 這里出現了一個問題在使用develop組中的用戶想寫入文件發現沒有權限,這里需要提醒此服務當中使用的交集模式,默認使用權限最小的方式進行修改文件問屬性 [root@localhost ~]# smbclient //172.16.0.122/shared -U centos Enter centos's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8] smb: \> smb: \> smb: \> smb: \> smb: \> mkdir wanghongkai smb: \> smb: \> smb: \> ls . D 0 Sat Sep 24 20:41:55 2016 .. DR 0 Sat Sep 24 19:22:07 2016 lost+found D 0 Sat Sep 24 19:56:02 2016 wanghongkai D 0 Sat Sep 24 20:41:55 2016 40330 blocks of size 524288. 37938 blocks available 5)此samba共享服務僅允許來自于172.16.0.0/16網絡的主機訪問; 這里samba的共享服務僅允許來自于特定的網段進行主機訪問,那么就需要在全局配置中進行定義[glob] workgroup = WORKGROUP server string = Samba Server Version %v netbios name = MYSERVER ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 hosts allow = 172.16.0.0/16 2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程) 安裝所需要的軟件 ]# yum -y install mysql-server mysql-devel pam_mysql 1)基于虛擬用戶的訪問形式; 2)匿名用戶只允許下載,不允許上傳; 3)禁錮所有的用戶于其家目錄當中; chroot_local_user=YES 4)限制最大并發連接數為200:; 5)匿名用戶的最大傳輸速率512KB/s 6)虛擬用戶的賬號存儲在mysql數據庫當中。 7)數據庫通過NFS進行共享。 在服務器上啟動nfs服務 ]# service nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Stopping RPC idmapd: [ OK ] Starting RPC idmapd: [ OK ] Starting NFS daemon: [ OK ] 為共享數據庫的提供特定的文件路徑 在/etc/exports上共享nfs服務器端共享的文件系統 ]# cat /etc/exports /mydata/data 172.16.0.136(rw) 將NFS的文件系統掛載至mnt目錄上 ]# mount -t nfs 172.16.0.136:/mydata/data/ /mnt 修改數據庫的配置文件 [mysqld] datadir=/mydata/data socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 編寫vsftp的數據用戶列表 mysql> CREATE DATABASE vsftpd;-->創建數據庫 mysql> grant select on vsftpd.* to vsftpd@'172.16.%.%' identified by 'www.magedu.com';-->允許172.16段的所有地址訪問數據庫 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('magedu1',password('magedu')); Query OK, 1 row affected (0.00 sec) mysql> insert into users(name,password) values('magedu2',password('magedu')); Query OK, 1 row affected (0.00 sec) mysql> insert into users(name,password) values('wostop',password('password01!')); Query OK, 1 row affected (0.00 sec) 建立pam認證所需要的文件 ]# cat /etc/pam.d/vsftpd.mysql auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 為虛擬用戶建立系統用戶 ]# useradd -s /sbin/nologin -d /ftproot/ vuser 并修改權限 ]#chmod go+rx /var/ftproot 編寫/etc/vsftpd/vsftpd.conf 加入如下: guest_enable=YES guest_username=vuser pam_service_name=vsftpd.mysql-->啟用mysql認證 max_clients=200 anon_max_rate=512 使用其他服務器進行測試: [root@ns1 htdocs]]# ftp 172.16.0.122 Connected to 172.16.0.122 (172.16.0.122). 220 (vsFTPd 2.2.2) Name (172.16.0.122:root): magedu1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (172,16,0,122,114,1). 150 Here comes the directory listing. drwx------ 2 500 500 4096 Sep 16 15:45 cd 226 Directory send OK. ftp> mkdir wanghongkai 257 "/wanghongkai" created ftp> exit 221 Goodbye.
原創文章,作者:wostop,如若轉載,請注明出處:http://www.www58058.com/56340
贊,版風獨特~~總結的也不錯,加油~