N25期–第十三周作業

1、 建立samba共享,共享目錄為/data,要求:(描述完整的過程)
  1)
共享名為shared,工作組為magedu;
  2)
添加組develop,添加用戶gentoo,centosubuntu,其中gentoocentosdevelop為附加組,ubuntu不屬于develop組;密碼均為用戶名;
  3)
添加samba用戶gentoo,centosubuntu,密碼均為“mageedu”;
  4)
samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;
  5)
samba共享服務僅允許來自于172.16.0.0/16網絡的主機訪問;

 

 

# yum install -y samba

# service smb start

# service nmb start

 

# groupadd develop

# useradd -s
/sbin/nologin -G develop gentoo

# useradd -s
/sbin/nologin -G develop centos

# useradd -s
/sbin/nologin ubuntu

# echo
“gentoo” | passwd –stdin gentoo

# echo
“centos” | passwd –stdin centos

# echo
“ubuntu” | passwd –stdin ubuntu

 

# smbpasswd -a gentoo

New SMB password:

Retype new SMB password:

Added user gentoo.

# smbpasswd -a centos

# smbpasswd -a Ubuntu

 

# pdbedit –L

setfacl
-m g:develop:rwx /data/

getfacl
/data/

 

# cp /etc/samba/smb.conf{,.bak}

# vim /etc/samba/smb.conf

 

[shared]

workgroup = magedu

hosts allow = 172.16.0.0/16

comment = Shared test

path = /data

valid users = gentoo,centos,ubuntu,+develop

read list = ubuntu

write list = +develop

writable = yes

printable
= no


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

 

一、安裝所需要程序

   
##
安裝mysqlpam_mysql

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

 

二、創建虛擬用戶賬號

   
1.
準備數據庫及相關表

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

   
mysql> create database vsftpd;

   
mysql> grant select on vsftpd.* to centos@localhost identified by
‘centos’;

   
mysql> grant select on vsftpd.* to centos@127.0.0.1 identified by
‘centos’;

   
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(‘centos’,password(‘centos’));

   
mysql> insert into users(name,password)
values(‘gentoo’,password(‘gentoo’));

 

 

三、配置vsftpd

1.建立pam認證所需文件

   
#vi /etc/pam.d/vsftpd.mysql

    添加如下兩行

   
auth required /lib/security/pam_mysql.so user=centos passwd=centos  host=localhost db=vsftpd table=users
usercolumn=centos passwdcolumn=centos crypt=2

   
account required /lib/security/pam_mysql.so user=centos  passwd=centos 
host=localhost db=vsftpd table=users usercolumn=gentoo
passwdcolumn=gentoo crypt=2

    。

#建立虛擬用戶映射的系統用戶及對應的目錄

    #
useradd -s /sbin/nologin -d /var/ftproot vuser

    #
chmod go+rx /var/ftproot

 

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

# vi /etc/vsftpd/vsftpd.conf

   請確保/etc/vsftpd.conf中已經啟用了以下選項

anonymous_enable=NO

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES#將用戶禁錮在自己的家目錄中

guest_enable=YES

guest_username=vuser#指明虛擬用戶映射到的系統用戶

pam_service_name=vsftpd.mysql#指明使用/etc/pam.d/vsftpd.mysql來認證

user_config_dir=/etc/vsftpd/vusers_config#指明虛擬用戶的配置文件

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

[root@Vsftp vsftpd]# mkdir
/etc/vsftpd/vusers_config

[root@Vsftp vsftpd]# cd
/etc/vsftpd/vusers_config

[root@Vsftp vusers_config]# touch zhangsan
lisi

配置虛擬用戶的權限

虛擬用戶對vsftpd服務的訪問權限是通過匿名用戶的相關指令進行的。比如,如果需要讓zhangsan用戶具有上傳文件的權限,

  可以修改/etc/vsftpd/vusers_config/zhangsan文件,在里面添加如下選項即可。

[root@Vsftp vusers_config]#cat
/etc/vsftpd/vusers_config/zhangsan

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

[root@Vsftp vsftpd]# service vsftpd start

三、基于匿名用戶的vsftp

[root@Vsftp vsftpd]# grep -v ^# vsftpd.conf

anonymous_enable=YES

local_enable=NO

write_enable=NO

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

download_enable=YES#允許下載

max_clients=200#允許并發客戶端數目

anon_max_rate=512k#最大下載速度

listen=YES

pam_service_name=vsftpd

userlist_enable=YES#針對系統用戶訪問的控制策略

tcp_wrappers=YES

# service vsftpd restart

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

(0)
victorli88victorli88
上一篇 2017-04-05
下一篇 2017-04-05

相關推薦

  • 第九周

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash for i in `cut -d':' -f7 /etc/passwd`;do &n…

    Linux干貨 2016-09-26
  • 從Linux小白到大牛——與狼共舞的日子5

    馬哥教育網絡班21期+第5周課程練習 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行。 [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以…

    Linux干貨 2016-08-31
  • Redis集群明細文檔

    Redis目前版本是沒有提供集群功能的,如果要實現多臺Redis同時提供服務只能通過客戶端自身去實現(Memchached也是客戶端實現分布式)。目前根據文檔已經看到Redis正在開發集群功能,其中一部分已經開發完成,但是具體什么時候可以用上,還不得而知。文檔來源:http://redis.io/topics/cluster-spec 一、介紹   該文檔是…

    Linux干貨 2015-04-04
  • CentOS6.7上編譯安裝Apache2.2和Apache2.4

    centos6.7上如何編譯安裝Apache2.2和Apache2.4

    Linux干貨 2016-05-29
  • 選擇判斷專題腳本編程_第九周練習

    Q1:寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i y=0 declare -i n=0 for i in $(cut…

    Linux干貨 2016-12-25
  • 進程管理和計劃任務

    進程管理使用的工具以及命令,計劃任務的創建和執行,以及工作中需要的注意事項

    2017-12-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-13 09:48

    能使用markdown并給出實驗結果會更好~繼續加油~

欧美性久久久久