N21天天第十三周課程練習

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、創建用戶及組 

[root@Samba ~]# groupadd develop
[root@Samba ~]# useradd -G develop gentoo
[root@Samba ~]# useradd -G develop centos
[root@Samba ~]# useradd ubuntu
[root@Samba ~]# for i in gentoo centos ubuntu;do echo $i:$i | chpasswd;done
2、安裝Samba,并修改配置文件
[root@Samba ~]# yum -y install samba
[root@Samba ~]# cd /etc/samba/
[root@Samba samba]# cp smb.conf{,.bak}
[root@Samba samba]# vim smb.conf
修改
workgroup = MYGROUP
為
workgroup = magedu
修改
passdb backend = tdbsam
為
    passdb backend = smbpasswd
    smb passwd file = /etc/samba/smbpasswd
添加 
hosts allow = 172.16.0.0/16
末尾添加
[shared]
comment = Magedu.com
path = /data
guest = yes 
writable = no
write list = +develop
3、創建Samba用戶并啟動服務
[root@Samba samba]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@Samba samba]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@Samba samba]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.

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

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

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

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

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

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

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

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

配置環境:
 nfs服務器:192.168.1.61
 vsftp、mysql服務器:192.168.1.64
一、通過NFS服務器共享數據庫
1、在192.168.1.61服務器上啟動nfs服務,設置共享目錄為/data
[root@NFS ~]# mkdir /data
[root@NFS ~]# groupadd -g 27 mysql
[root@NFS ~]# useradd -g mysql -u 27 -s /sbin/nologin -M mysql 
[root@NFS ~]# chown -R mysql.mysql /data/
[root@NFS ~]# vim /etc/exports 
/data   192.168.1.64(rw,no_root_squash)
[root@NFS ~]# service  nfs start
2、在192.168.1.64服務器上安裝mysql,創建目錄/mydata 用來掛載nfs共享目錄。
[root@Vsftp ~]# yum -y install mysql mysql-server mysql-devel
[root@Vsftp ~]# mkdir /mydata
[root@Vsftp ~]# chown -R mysql.mysql /mydata/
[root@Vsftp ~]# mount 192.168.1.61:/data /mydata/
[root@Vsftp ~]# vim /etc/my.cnf 
修改
datadir=/var/lib/mysql
為
datadir=/mydata
#初始化mysql
[root@Vsftp ~]# mysql_install_db --datadir=/mydata/
[root@Vsftp ~]# service mysqld start
二、基于虛擬用戶的vsftp
1、在192.168.1.64服務器上創建數據庫
mysql> create database vsftpd;
#創建數據庫用戶,授權對vsftpd數據庫有查詢權限
grant select on vsftpd.* to vsftpd@127.0.0.1 identified by '123456';
mysql> grant select on vsftpd.* to vsftpd@192.168.1.64 identified by '123456';
mysql> flush privileges;
#在vsftpd數據庫中創建表users
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) );
#插入虛擬用戶
mysql> insert into users (name,password) values ('zhangsan',password('123456'));
mysql> insert into users (name,password) values ('lisi',password('123456'));
2、在192.168.1.64服務器上安裝vsftpd服務及pam_mysql認證
#安裝epel源
[root@Vsftp ~]# rpm -ivh epel-release-latest-6.noarch.rpm
#安裝vsftpd服務及pam_mysql認證
[root@Vsftp ~]# yum -y install vsftpd pam_mysql
3、建立pam認證需要的文件
[root@Vsftp ~]# vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table=users
 usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table=
  users usercolumn=name passwdcolumn=password crypt=2
4、添加虛擬用戶對應的系統用戶,使其適用mysql認證
[root@Vsftp ~]# useradd -s /sbin//nologin -d /ftproot vuser
[root@Vsftp ~]# chmod +rx /ftproot/
5、配置vsftp服務
[root@Vsftp ~]# cd /etc/vsftpd/
[root@Vsftp vsftpd]# cp vsftpd.conf{,.bak}
請確保/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#指明虛擬用戶的配置文件
6、創建所需要目錄,并有虛擬用戶提供配置文件
[root@Vsftp vsftpd]# mkdir /etc/vsftpd/vusers_config
[root@Vsftp vsftpd]# cd /etc/vsftpd/vusers_config
[root@Vsftp vusers_config]# touch zhangsan lisi
7、配置虛擬用戶的權限
虛擬用戶對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
[root@Vsftp vsftpd]# service vsftpd restart

原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/59537

(0)
N21-天天N21-天天
上一篇 2016-12-05 17:05
下一篇 2016-12-05 17:05

相關推薦

  • 文本查看工具、grep及正則表達式

    cat [OPTION]… [FILE]…順序查看文件-E: 顯示行結束符$-n: 對顯示出的每一行進行編號(包括空白行)-A:顯示所有控制符-T:顯示制表符^I(即tab鍵)-b:只對非空白行進行編號-s:壓縮連續的空行成一行 tac 逆序查看文件(第一行變為最后一行) rev 行內逆序查看文件(第一個字符變為最后一個字符) mor…

    Linux干貨 2016-08-11
  • 編程能力與編程年齡

    程序員這個職業究竟可以干多少年,在中國這片神奇的土地上,很多人都說只能干到30歲,然后就需要轉型,就像《程序員技術練級攻略》這篇文章很多人回復到這種玩法會玩死人的一樣。我在很多面試中,問到應聘者未來的規劃都能聽到好些應聘都說程序員是個青春飯。因為,大多數程序員都認為,編程這個事只能干到30歲,最多35歲吧。每每我聽到這樣的言論,都讓我感到相當的無語,大家都?!?/p>

    Linux干貨 2016-08-15
  • 早安,Linux

    希望能通過不斷的努力,變成一個不一樣的我。

    Linux干貨 2017-07-11
  • 磁盤管理之磁盤分區,主引導分區表修復

    磁盤管理: I/O Ports: I/O設備地址 一切皆文件: open(), read(), write(), close() 設備類型: 塊設備:block,存取單位“塊”,磁盤 字符設備:char,存取單位“字符”,鍵盤 設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信 設備號碼: 主設備號:major number, 標識設備類型…

    Linux干貨 2016-08-25
  • RAID

    RAID:       Redunant ARRAYS OF Inexpensive Disks       廉價磁盤陣列 Independent        Berkeley: A case for Redundent Arrays of Inexpens…

    Linux干貨 2016-12-23
  • Linux磁盤管理(一)

      磁盤,計算機最常見的存儲硬件設備。對Linux而言,其哲學思想之一就是一切皆文件,因此linux之上所有設備的操作都是通過文件接口來實現的,也就是說在訪問設備的時候就如同訪問一個文件一樣,因為他們使用的都是文件系統接口。 向磁盤中寫入數據的操作過程:   首先硬件設備在系統上會映射成一個一個文件,我們在對硬件中寫入數據就相當…

    Linux干貨 2016-08-30
欧美性久久久久