馬哥教育網絡19期+第十三周課程練習

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

先添加用戶并創建密碼x'z

[root@Hao ~]# groupadd develop
[root@Hao ~]# useradd -G develop gentoo
[root@Hao ~]# useradd -G develop centos
[root@Hao ~]# useradd ubuntu
[root@Hao ~]# echo "gentoo" | passwd --stdin gentoo
更改用戶 gentoo 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@Hao ~]# echo "centos" | passwd --stdin centos
更改用戶 centos 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@Hao ~]# echo "ubuntu" | passwd --stdin ubuntu
更改用戶 ubuntu 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@Hao ~]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@Hao ~]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@Hao ~]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.

 安裝samba服務

[root@Hao ~]# yum -y install samba samba-client

然后編輯/etc/samba/smb.conf

workgroup = magedu
hosts allow = 192.168.1
[shared]
        comment = Haosmb
        path = /data
        guest = yes
        writable = no
        write list = +develop

然后使用service smb restart重啟服務

使用windows登錄,用有權限的用戶centos登錄,并創建一個文件

1.png

3.png

進入共享的/data文件夾,查看剛才在win10上創建的文件,存在,說明沒有問題

[root@Hao ~]# cd /data
[root@Hao data]# ll
總用量 0
-rwxr--r--. 1 centos centos 0 8月  10 16:13 gentoo_testFile.txt

如果是使用linux訪問的話,使用命令

[root@Hao data]# smbclient //192.168.1.150/shared -U ubuntu
Enter ubuntu's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-35.el6_8]
smb: \> put /etc/issue
NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \/etc/issue
smb: \> ls
  .                                   D        0  Wed Aug 10 16:14:12 2016
  ..                                 DR        0  Wed Aug 10 14:59:07 2016
  gentoo_testFile.txt                 A        0  Wed Aug 10 16:13:53 2016

		57807 blocks of size 524288. 51165 blocks available

linux上測試登錄samba的用戶是ubuntu,可以ls查看/data里的內容,但是如上述所見,使用put上傳時報錯,因為沒有題目要求ubuntu沒有上傳權限

2、搭建一套文件vsftp文件共享服務,共享目錄為/ftproot,要求:(描述完整的過程)

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

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

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

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

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

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

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

一、安裝所需要程序

1、安裝mysql和pam_mysql

# yum -y install vsftpd mysql-server mysql-devel pam_mysql

二、創建虛擬用戶賬號

1.準備數據庫及相關表

首先請確保mysql服務已經正常啟動。而后,按需要建立存儲虛擬用戶的數據庫即可,這里將其創建為vsftpd數據庫。

mysql> create database vsftpd;

mysql> grant select on vsftpd.* to vsftpd@localhost 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('tom',password('magedu'));
mysql> insert into users(name,password) values('jerry',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=0
account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0


注意:由于mysql的安裝方式不同,pam_mysql.so基于unix sock連接mysql服務器時可能會出問題,此時,建議授權一個可遠程連接的mysql并訪問vsftpd數據庫的用戶。

2.修改vsftpd的配置文件,使其適應mysql認證

建立虛擬用戶映射的系統用戶及對應的目錄
# useradd -s /sbin/nologin -d /var/ftproot vuser
# chmod go+rx /var/ftproot

請確保/etc/vsftpd.conf中已經啟用了以下選項
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES 
chroot_local_user=YES 
local_root=/ftproot
anon_root=/ftproot
而后添加以下選項
guest_enable=YES
guest_username=vuser

并確保pam_service_name選項的值如下所示
pam_service_name=vsftpd.mysql


四、啟動vsftpd服務

# service vsftpd start
# chkconfig vsftpd on


五、配置虛擬用戶具有不同的訪問權限

vsftpd可以在配置文件目錄中為每個用戶提供單獨的配置文件以定義其ftp服務訪問權限,每個虛擬用戶的配置文件名同虛擬用戶的用戶名。配置文件目錄可以是任意未使用目錄,只需要在
vsftpd.conf指定其路徑及名稱即可。

1、配置vsftpd為虛擬用戶使用配置文件目錄

# vim vsftpd.conf
添加如下選項
user_config_dir=/etc/vsftpd/vusers_config 

2、創建所需要目錄,并為虛擬用戶提供配置文件

# mkdir /etc/vsftpd/vusers_config/
# cd /etc/vsftpd/vusers_config/
# touch tom jerry

3、配置虛擬用戶的訪問權限

虛擬用戶對vsftpd服務的訪問權限是通過匿名用戶的相關指令進行的。比如,如果需要讓tom用戶具沒有上傳,刪除文件的權限,可以修改/etc/vsftpd/vusers_config/tom文件,
在里面添加如下選項即可。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

原創文章,作者:Net19_口香糖,如若轉載,請注明出處:http://www.www58058.com/32575

(0)
Net19_口香糖Net19_口香糖
上一篇 2016-08-12
下一篇 2016-08-12

相關推薦

  • raid 5 軟件實現

    raid 5        RAID 5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 RAID 5可以理解為是RAID 0和RAID 1的折中方案。RAID 5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的…

    2017-05-02
  • CentOS7修改網卡為eth0

    1.編輯網卡信息 [root@linux~]# cd /etc/sysconfig/network-scripts/  #進入網卡目錄 [root@linux~network-scripts]# mv ifcfg-eno16777728 ifcfg-eth0  #重命名網卡名稱 [root@linux network-…

    Linux干貨 2016-10-25
  • 條件判斷工具 test or [ ]

    概述         條件判斷是學習shell腳本之前要掌握的重點基礎。條件判斷分為以下幾類:文件判斷、數值判斷、字符判斷。而文件判斷還可以細分到:文件類型判斷、文件權限判斷、文件所屬判斷、文件之間屬性判斷;      &nbsp…

    Linux干貨 2016-02-14
  • 第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\+@#&@g 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的…

    Linux干貨 2017-03-03
  • Linux初識

    Linux 初識 計算機包含 CPU :運算器 、控制器、寄存器、緩存(加速) 存儲器:內存,RAM(Random Access Memory) Input:下指令,提供數據 Output:輸出數據加工的結果。 馮諾依曼體系 紙帶打孔 磁帶機 批處理 鍵盤、顯示器 多任務Multi task 虛擬機軟件 VMware workstation 12 PRO O…

    2017-07-13
  • First Day

    learning

    2018-03-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-17 13:51

    寫的很好,排版還可以在漂亮一點,加油,可以詳細解釋一下配置文件的含義

欧美性久久久久