Linux學習作業(yè)---第十八周(8.24-8.30)

一、實現(xiàn)基于MYSQL驗證的vsftpd虛擬用戶訪問
1墨叛、編譯工具安裝

 yum install -y cmake gcc-c++ gcc bison libmcrypt openssl openssl-devel ncurses ncurses-devel perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-GD

2止毕、安裝mariadb數(shù)據(jù)庫

yum –y install mariadb-server
systemctl start mariadb

3、創(chuàng)建ftp虛擬賬戶表

mysql -uroot -p (默認為空)
mysql> create database vsftpd;  #創(chuàng)建vsftpd數(shù)據(jù)庫
mysql> grant all  privileges on vsftpd.* to vsftpd@'%' identified by 'vsftpd'; #創(chuàng)建數(shù)據(jù)庫賬戶密碼
mysql> create table user   #創(chuàng)建用戶表
            (
                id int unsigned auto_increment primary key,
                name char(50) binary not null,
                password char(50) binary not null
            );
mysql> insert into user(name,password) values ('ftp1',password('ftp1'));  #創(chuàng)建虛擬用戶
mysql> insert into user(name,password) values ('ftp2',password('ftp2'));

4漠趁、安裝pam_mysql-0.7RC1

yum -y install mariadb-devel pam-devel
tar xvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure --with-pam-mods-dir=/lib64/security
make && make install

5扁凛、創(chuàng)建ftp賬戶

useradd -r -s /sbin/nologin -d /data/ftpdata vuser   #創(chuàng)建vuser操作系統(tǒng)賬戶
mkdir -p /data/ftpdata/{public,upload}
chmod 555 /data/ftpdata/          #去掉vuser ftp根目錄寫權(quán)限
setfacl -m u:vuser:rwx /data/ftpdata/upload/     #單獨給予upload文件目錄寫的權(quán)限

6、創(chuàng)建pam vsftpd.mysql文件

 vi /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=vsftpd host=172.16.31.7 db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=vsftpd host=172.16.31.7 db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2  #填寫數(shù)據(jù)庫連接信息

7闯传、修改vsftpd配置文件

vi /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.mysql       #(修改pam引用配置文件)
userlist_enable=YES                           #默認
tcp_wrappers=YES                             #默認
guest_enable=YES                                #開啟虛擬用戶
guest_username=vuser                      #所有虛擬用戶都映射成vuser賬戶
user_config_dir=/etc/vsftpd/vusers.d/    #每個虛擬用戶獨立配置文件

8谨朝、單獨配置虛擬用戶

mkdir -p /etc/vsftpd/vusers.d/
vi /etc/vsftpd/vusers.d/ftp1    #創(chuàng)建ftp1用戶配置文件
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES    #允許上傳

9、驗證


image.png
image.png

ftp1用戶可以上傳


image.png

image.png

ftp2用戶無法上傳
二甥绿、通過NFS實現(xiàn)服務器/www共享訪問
1字币、創(chuàng)建共享目錄

mkdir -p /www
chmod 755 /www

2、安裝nfs服務

yum install -y nfs-utils rpcbind

3共缕、修改nfs配置文件

vi /etc/exports

/www 172.16.31.65(rw,sync,all_squash,anonuid=501,anongid=501)

#rw  可讀寫
#sync  同步至內(nèi)存
#all_squash  全部匿名方式登陸
#n匿名賬戶ID及組501

4洗出、創(chuàng)建匿名賬戶

groupadd -g 501 nfsuser
useradd  -g nfsuser -u 501 nfsuser -s /sbin/nologin
chown -R nfsuser:nfsuser /www

5、啟動nfs并刷新配置

systemctl start rpcbind && systemctl start nfs-server
exportfs -r

6图谷、客戶端安裝

yum install -y nfs-utils

7共苛、掛載nfs盤

mkdir -p /data/www
mount -t nfs 172.16.31.7:/www /data/www

三判没、配置samba共享,實現(xiàn)/www目錄共享
1隅茎、創(chuàng)建共享目錄

mkdir -p /www

2澄峰、安裝samba服務

yum install samba –y

3、創(chuàng)建共享賬戶

groupadd sambauser
useradd sambauser -g sambauser -s /sbin/nologin
chown -R sambauser:sambauser /www

4辟犀、將用戶添加進samba用戶中并設置密碼

smbpasswd -a sambauser

5俏竞、修改samba配置文件

vi /etc/samba/smb.conf
最后添加
[www]
        comment = www   #描述
        path = /www      #共享目錄
        public = no         #隱藏共享目錄
        browseable = no
        printable = no     
        valid users = sambauser        #添加sambauser權(quán)限
        write list = sambauser            #sambauser可寫權(quán)限

6、啟動samba服務

systemctl start smb nmb

7堂竟、測試
\172.16.31.7\www


image.png

四魂毁、使用rsync+inotify實現(xiàn)/www目錄實時同步
服務端:172.16.23.243
客戶端:172.16.31.7
需求:
客戶端 /data/www 目錄中的所有文件及目錄同步至服務端/data/backup目錄中
1、服務端和客戶端都安裝rsyncd

yum -y install rsync

2出嘹、服務端修改rsync配置文件

vi /etc/rsyncd.conf
uid=root             #進程啟用的用戶
gid=root
use chroot = no   #不切根
max connections = 0        #無連接數(shù)限制
ignore errors                     #忽略錯誤
exclude = lost+found/       
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no          #不反向解析
[backup]                            #創(chuàng)建backup實例
path = /data/backup/         #備份的目錄
comment = backup 
read only = no        
auth users = rsyncuser     #同步rsync賬戶
secrets file = /etc/rsync.pass       #密碼保存的文件

3席楚、創(chuàng)建rsync同步賬戶及密碼

vi /etc/rsync.pass
rsyncuser:123456   #用戶:密碼

4、客戶端添加rsyncuser的密碼

vi /etc/rsync.pass
123456

5税稼、測試rsync

服務端
啟動rsync進程
rsync --daemon
chmod 600 /etc/rsync.pass(客戶端和服務端都要執(zhí)行)
客戶端
[root@ftptest data]# rsync -avz --password-file=/etc/rsync.pass /data/www/ rsyncuser@172.16.23.243::backup
sending incremental file list
./
f1.txt
f4.txt
f5.txt

sent 221 bytes  received 76 bytes  594.00 bytes/sec
total size is 0  speedup is 0.00

服務端

[root@mwh backup]# ll
總用量 0
-rw-r--r-- 1 root root 0 8月  30 12:05 f1.txt
-rw-r--r-- 1 root root 0 8月  30 14:02 f4.txt
-rw-r--r-- 1 root root 0 8月  30 14:05 f5.txt
成功同步

6烦秩、客戶端安裝inotify

yum install inotify-tools

7、定義同步腳本

vi /data/rsyncwww.sh
#!/bin/sh
SRC=/data/www/
DEST=rsyncuser@172.16.23.243::backup
inotifywait -mrq -e modify,create,move,delete,attrib $SRC |while read events   #-m 持續(xù)監(jiān)控 -r 遞歸 -q 不記錄 -e 定義操作
    do
        rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST  #--delete 刪除backup中源文件不存在的文件
        echo "[`date "+%Y-%m-%d %H:%M:%S"`]  $events" >> /var/log/sync.log
    done

8郎仆、執(zhí)行腳本測試

chmod +x /data/rsyncwww.sh
./rsyncwww.sh
客戶端
[root@ftptest www]# touch f{1..10}.txt
[root@ftptest www]# ll
總用量 0
-rw-r--r-- 1 root root 0 8月  30 14:20 f10.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f1.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f2.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f3.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f4.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f5.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f6.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f7.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f8.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f9.txt
服務端
[root@mwh backup]# ll
總用量 0
-rw-r--r-- 1 root root 0 8月  30 14:20 f10.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f1.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f2.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f3.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f4.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f5.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f6.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f7.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f8.txt
-rw-r--r-- 1 root root 0 8月  30 14:20 f9.txt
查看日志

[root@ftptest www]# tail -20 /var/log/sync.log
[2020-08-30 14:20:35]  /data/www/ CREATE f1.txt
[2020-08-30 14:20:35]  /data/www/ ATTRIB f1.txt
[2020-08-30 14:20:35]  /data/www/ CREATE f2.txt
[2020-08-30 14:20:35]  /data/www/ ATTRIB f2.txt
[2020-08-30 14:20:35]  /data/www/ CREATE f3.txt
[2020-08-30 14:20:36]  /data/www/ ATTRIB f3.txt
[2020-08-30 14:20:36]  /data/www/ CREATE f4.txt
[2020-08-30 14:20:36]  /data/www/ ATTRIB f4.txt
[2020-08-30 14:20:36]  /data/www/ CREATE f5.txt
[2020-08-30 14:20:36]  /data/www/ ATTRIB f5.txt
[2020-08-30 14:20:36]  /data/www/ CREATE f6.txt
[2020-08-30 14:20:36]  /data/www/ ATTRIB f6.txt
[2020-08-30 14:20:36]  /data/www/ CREATE f7.txt
[2020-08-30 14:20:37]  /data/www/ ATTRIB f7.txt
[2020-08-30 14:20:37]  /data/www/ CREATE f8.txt
[2020-08-30 14:20:37]  /data/www/ ATTRIB f8.txt
[2020-08-30 14:20:37]  /data/www/ CREATE f9.txt
[2020-08-30 14:20:37]  /data/www/ ATTRIB f9.txt
[2020-08-30 14:20:37]  /data/www/ CREATE f10.txt
[2020-08-30 14:20:37]  /data/www/ ATTRIB f10.txt
同步成功

五只祠、使用iptable實現(xiàn): 放行telnet, ftp, web服務,放行samba服務,其他端口服務全部拒絕

iptables -I INPUT -s 172.16.31.0/24 -p tcp -m multiport --dports 20,21,23,80,139,445 -j ACCEPT                            
iptables -A INPUT -j drop  #其他入站都drop
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市扰肌,隨后出現(xiàn)的幾起案子抛寝,更是在濱河造成了極大的恐慌,老刑警劉巖曙旭,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盗舰,死亡現(xiàn)場離奇詭異,居然都是意外死亡桂躏,警方通過查閱死者的電腦和手機岭皂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沼头,“玉大人爷绘,你說我怎么就攤上這事〗叮” “怎么了土至?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長猾昆。 經(jīng)常有香客問我陶因,道長,這世上最難降的妖魔是什么垂蜗? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任楷扬,我火速辦了婚禮解幽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烘苹。我一直安慰自己躲株,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布镣衡。 她就那樣靜靜地躺著霜定,像睡著了一般。 火紅的嫁衣襯著肌膚如雪廊鸥。 梳的紋絲不亂的頭發(fā)上望浩,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音惰说,去河邊找鬼磨德。 笑死,一個胖子當著我的面吹牛吆视,可吹牛的內(nèi)容都是我干的典挑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼揩环,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了幅虑?” 一聲冷哼從身側(cè)響起丰滑,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎倒庵,沒想到半個月后褒墨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡擎宝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年郁妈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绍申。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡噩咪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出极阅,到底是詐尸還是另有隱情胃碾,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布筋搏,位于F島的核電站仆百,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奔脐。R本人自食惡果不足惜俄周,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一吁讨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峦朗,春花似錦建丧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至艰亮,卻和暖如春闭翩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迄埃。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工疗韵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侄非。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓蕉汪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逞怨。 傳聞我的和親對象是個殘疾皇子者疤,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354