第十三周作業

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)安裝samba軟件包

]# yum install samba -y

    2)添加系統用戶和組

]# groupadd develop
]# useradd gentoo -G develop
]# useradd centos -G develop
]# useradd ubuntu
]# for i in gentoo centos ubuntu;do echo "$i"|passwd --stdin $i;done
Changing password for user gentoo.
passwd: all authentication tokens updated successfully.
Changing password for user centos.
passwd: all authentication tokens updated successfully.
Changing password for user ubuntu.
passwd: all authentication tokens updated successfully.

     3)添加samba用戶

]# smbpasswd -a gentoo
]# smbpasswd -a centos
]# smbpasswd -a ubuntu
]# pdbedit -L
gentoo:1000:
ubuntu:1002:
centos:1001:

     4)編輯samba配置文件,添加下面內容:

[shared]                                            #定義共享名稱
        comment = magedu share                      #注釋信息
        path = /data                                #本地的共享目錄
        browseable = yes                            #是否能夠被所有用戶看到
        read only = yes                             #是否為只讀
        write list = @develop                       #擁有寫權限的用戶或組
        hosts deny = 172.16.0.0/255.255.255.0       #拒絕指定網段的訪問

     5)重載samba服務使配置生效

]# systemctl reload smb.service

     6)測試

]# smbclient //192.168.0.111/shared -U gentoo
Enter gentoo's password: 
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> put php.ini
putting file php.ini as \php.ini (5814.8 kb/s) (average 5814.9 kb/s)        #使用gentoo用戶能夠上傳文件
]# smbclient //192.168.0.111/shared -U ubuntu
Enter ubuntu's password: 
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> put php.ini
NT_STATUS_ACCESS_DENIED opening remote file \php.ini                        #使用ubuntu用戶上傳文件失敗

2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)
  1)基于虛擬用戶的訪問形式;
  2)匿名用戶只允許下載,不允許上傳;
  3)禁錮所有的用戶于其家目錄當中;
  4)限制最大并發連接數為200:;
  5)匿名用戶的最大傳輸速率512KB/s
  6)虛擬用戶的賬號存儲在mysql數據庫當中。

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

    1)安裝mysql和需要用到的依賴包

]# yum groupinstall "Server Platform" "Server Platform Development" -y
]# yum install mariadb* openssl-devel pam-devel -y

     2)編譯安裝pam_mysql

]# tar xf pam_mysql-0.7RC1.tar.gz
]# cd pam_mysql-0.7RC1
]# ./configure --with-mysql=/usr/ --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security/
]# make && make install

    3)在數據庫中創建庫與添加虛擬用戶

]# mysql
MariaDB [(none)]> create database vsftpd;            #創建vsftpd庫
MariaDB [(none)]> use vsftpd;
MariaDB [(none)]> create table users (               #創建虛擬用戶表
    -> id int auto_increment not null primary key,
    -> name char(30) not null,
    -> password char(48) binary not null);
MariaDB [vsftpd]> insert into users(name,password) values ('tom',password('magedu'));            #插入兩條虛擬用戶信息
MariaDB [vsftpd]> insert into users(name,password) values ('jerry',password('magedu'));
MariaDB [vsftpd]> grant select on vsftp.* to 'vsftpd'@'localhost' identified by 'magedu';        #創建vsftpd用戶并授權
MariaDB [vsftpd]> grant select on vsftp.* to 'vsftpd'@'127.0.0.1' identified by 'magedu';
MariaDB [vsftpd]> flush privileges;

     4)創建pam配置文件

]# vim /etc/pam.d/vsftpd.mysql
auto required pam_mysql.so user=vsftpd passwd=magedu host=localhost db=vsftpd table=users usercolumn=name pass
wdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=magedu host=localhost db=vsftpd table=users usercolumn=name p
asswdcolumn=password crypt=2

     5)創建系統虛擬用戶和ftp上傳目錄

]# useradd -s /sbin/nologin -d /ftproot/ vuser        #創建系統虛擬用戶
]# chmod -w /ftproot                                  #取消根目錄的寫權限(根目錄下不具有寫權限)
]# cd /ftproot/
]# mkdir ftpdir                                       #創建ftp上傳目錄并修改權限
]# chown vuser.vuser ftpdir

     6)修改vsftpd配置文件

]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES            #限制所有用戶在其家目錄中
anonymous_enable=YES             #允許匿名用戶登錄
local_enable=YES                 #允許啟用本地用戶
write_enable=YES                 #允許本地用戶擁有寫權限
pam_service_name=vsftpd.mysql    #使用vsftpd.mysql作為pam認證文件
guest_enable=YES                 #激活虛擬用戶
guest_username=vuser             #mysql虛擬用戶在系統中對應的用戶
virtual_use_local_privs=YES      #虛擬用戶與本地用戶的權限相同
max_clients=200                  #最大并發連接數為200
anon_max_rate=512000             #匿名用戶最大傳輸速率為512Kb

      7)重啟vsftpd服務生效

]# systemctl restart vsftpd.service

    8)將ftp目錄通過nfs進行共享

]# vim /etc/exports
/ftproot/ftpdir *(rw,sync)                #將ftp目錄設置為nfs共享盤
]# systemctl restart rpcbind.service      #重啟rpcbind和nfs服務使配置生效
]# systemctl restart nfs.service
]# showmount -e 192.168.0.113             #測試與nfs服務的通信
Export list for 192.168.0.113:
/ftproot/ftpdir *

原創文章,作者:N26-西安-方老喵,如若轉載,請注明出處:http://www.www58058.com/72453

(0)
N26-西安-方老喵N26-西安-方老喵
上一篇 2017-04-04 10:24
下一篇 2017-04-04 15:18

相關推薦

  • 文件查找

    文件查找: locate查找:     locate:     依賴于事先構建好的索引庫,操作系統剛完成沒有       系統自動實現(周期性任務);      &nbs…

    Linux干貨 2016-08-15
  • 第五周

    1、簡述rpm與yum命令的常見選項,并舉例
    2、自建yum倉庫,分別為網絡源和本地源
    3、簡述at和crontab命令,制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00
    4、簡述sed常用操作命令,并舉例

    Linux干貨 2017-12-30
  • N26-第十二周

    1、請描述一次完整的http請求處理過程;        1、建立或處理鏈接:接收請求或拒絕請求        2、接收請求:接收來自于網絡的請求報文中對某資源的一次請求的過程;接收請求的方式通常是并發訪問響應模型        3、處理請…

    2017-05-14
  • 馬哥教育網絡班25期-第3周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who root     tty1         2016-12-…

    Linux干貨 2016-12-19
  • N21_第6周_vim

    N21_第6周_vim 請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; 3、刪除/tmp/…

    Linux干貨 2016-08-15
  • Linux哲學思想和常用命令的用法

    Linux哲學思想:    (1)、一切皆文件:               不僅普通的文件,目錄、字符設備、塊設備、套接字等在Unix、Linux中都是以文件被對待;它們雖然類型不同,但是對其提供的卻是同一套…

    2017-07-02

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 16:20

    非常的好,請繼續保持~~~加油??!

欧美性久久久久