馬哥教育21期網絡班—第13周課程+練習—-samba和vsftp-pam

  • 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網絡的主機訪問;

安裝Samba  
yum -y install samba
查看Samba配置文件
rpm -ql samba
查看Samba客戶端
rpm -ql samba-client
增加組
groupadd 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
增加Samba用戶和密碼
smbpasswd -a centos
smbpasswd -a gentoo
smbpasswd -a ubuntu
創建共享目錄,并附權限
mkdir /data
chmod g+w /data/ && chown :develop /data/
配置Samba
vim /etc/samba/smb.conf 
[global]
workgroup = magedu
server string = Samba Server Version %v
netbios name = MYSERVER
hosts allow = 192.168.159.0/24

security = user  用戶工作模式
passdb backend = tdbsam
共享名,共享設置
[shared]     
comment = Just for test
path = /data
public = no
valid users = gentoo,centos,ubuntu,@develop
read list =  ubuntu
write list = @develop
writable = yes
printable = no
關閉防火墻和selinux
setenforce 0
service iptables stop
開啟Samba服務
service smb start
service nmb start
smbclient //192.168.159.128/shared -U gentoo
Enter gentoo's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.23-35.el6_8]
smb: \> mkdir gentoo
smb: \> ls
  .                                   D        0  Fri Jun 17 15:09:44 2016
  ..                                 DR        0  Fri Jun 17 14:45:45 2016
  gentoo                              D        0  Fri Jun 17 15:09:44 2016
51930 blocks of size 262144. 19439 blocks available
smb: \> exit
smbclient //192.168.159.128/shared -U centos
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.23-35.el6_8]
smb: \> mkdir centos
smb: \> ls
  .                                   D        0  Fri Jun 17 15:10:11 2016
  ..                                 DR        0  Fri Jun 17 14:45:45 2016
  gentoo                              D        0  Fri Jun 17 15:09:44 2016
  centos                              D        0  Fri Jun 17 15:10:11 2016
51930 blocks of size 262144. 19439 blocks available
smb: \> exit
smbclient //192.168.159.128/shared -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.23-35.el6_8]
smb: \> mkdir ubuntu
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \ubuntu
smb: \>
  • 2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)

  • 1)基于虛擬用戶的訪問形式;

  • 2)匿名用戶只允許下載,不允許上傳;

  • 3)禁錮所有的用戶于其家目錄當中;

  • 4)限制最大并發連接數為200:;

  • 5)匿名用戶的最大傳輸速率512KB/s

  • 6)虛擬用戶的賬號存儲在mysql數據庫當中。

  • 7)數據庫通過NFS進行共享。

1、設置數據庫nfs共享---->MySQL提供數據文件目錄
在服務器10.0.0.2安裝nfs服務
設置nfs共享
service nfs start
mkdir -pv /mydata/data
將要共享的目錄寫到exports文件中 
vim /etc/exports
/mydata/data   10.0.0.2(rw) 
showmount -e 10.0.0.2---->查看NFS服務器端共享的文件系統
mount -t nfs  10.0.0.2:/mydata/data /mnt 
2、創建mysql用戶,設置 /mydata/data 的所屬主,所屬組為mysql
useradd -r mysql 
chown -R mysql.mysql  /mydata/data
3、安裝mysql和pam_mysql
yum -y install  mysql-server mysql-devel pam_mysql
修改mysql的配置文件,制定datadir的位置為/mydata/data
vim /etc/my.cnf
[mysqld]
datadir=/mydata/data
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid
啟動mysql
service mysqld start
4、創建虛擬用戶賬號
1、建立數據庫和表并授權
mysql> create database vsftpd;
mysql> grant select on vsftpd.* to vsftpd@10.0.0.2 identified by 'www.magedu.com';
mysql> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by 'www.magedu.com';
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('magedu1',password('magedu'));
mysql> insert into users(name,password) values('magedu2',password('magedu'));
三、配置vsftpd
1.建立pam認證所需文件
vi /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
修改ftp配置
/etc/vsftpd/vsftpd.conf
添加配置
guest_enable=YES
guest_username=vuser
修改配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd.mysql
max_clients=200
anon_max_rate=512

重啟ftp 服務
service vsftpd restart
在10.0.0.2服務器上測試
[root@localhost vusers_config]# ftp 10.0.0.2
Connected to 10.0.0.2 (10.0.0.2).
220 (vsFTPd 2.2.2)
Name (10.0.0.2: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 (10,0,0,2,114,1).
150 Here comes the directory listing.
drwx------    2 500      500          4096 Sep 16 15:45 cd
226 Directory send OK.
ftp> mkdir ccd 
257 "/ccd" created
ftp> exit
221 Goodbye.

[root@localhost vusers_config]# ftp 10.0.0.2
Connected to 10.0.0.2 (10.0.0.2).
220 (vsFTPd 2.2.2)
Name (10.0.0.2:root): magedu2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir cd 
550 Permission denied.

原創文章,作者:N21_ Dominic,如若轉載,請注明出處:http://www.www58058.com/52416

(0)
N21_ DominicN21_ Dominic
上一篇 2016-10-24 09:09
下一篇 2016-10-24 09:11

相關推薦

  • 馬哥教育網絡班21期-第1周課程練習

    1、  描述計算機的組成及其功能。 計算機由硬件系統和軟件系統兩部分組成。硬件系統由運算器,控制器,存儲器,輸入設備和輸出設備組成.     運算器:計算機中進行算術運算和邏輯運算的部件。     控制器:計算機的控制中心。協調和指揮計算機系統的操作。  &n…

    Linux干貨 2016-07-12
  • 【N25第七周作業】

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 mke2fs 1.42.9 (28…

    2017-04-13
  • 重定向和管道

    1.Linux給程序提供三種I/O設備 標準輸入-0    默認接受來自鍵盤的輸入 標準輸出-1    默認輸出到終端窗口 標準錯誤-2    默認輸出到終端窗口 在dev下有個fd設備,打開的文件都有一個fd:file dexcriptor 文件描述符 I/O重定向:…

    2017-07-20
  • Linux的命令使用格式

    ◆Linux命令格式:command [options]  [arguments]command:命令options:  –單詞   或   -單字如: ls –allequ      ls -als -a -b -cequ&…

    Linux干貨 2016-10-31
  • 第五周小練習

    1顯示當前系統上root,fedora或user1用戶的默認shell egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7 2找出/etc/rc.d/init.d/functions文件中某個單…

    Linux干貨 2016-12-12
  • 什么是文件系統

    文件系統:層級結構;有索引; /: 原初起點; 倒置樹狀結構; /dev/pts/2: 最左側/: 表示根目錄 其它的/: 表示路徑分隔符 Linux的路徑分隔符是/ Windows的是\ 文件的路徑表示: 絕對路徑:從根開始表示出的路徑  相對路徑:從當前位置開始表示出的路徑 文件名使用法則: 嚴格區分字符大小寫:file1, File1, FI…

    Linux干貨 2016-10-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-24 23:11

    思路很清楚,排版也很好,請加油

欧美性久久久久