建站服務(wù)器
ftp環(huán)境實(shí)例:
某公司由于業(yè)務(wù)發(fā)展需求,現(xiàn)需要在公司內(nèi)部搭建一臺ftp服務(wù)器!該公司有數(shù)個(gè)部門(it fd hr)和n名員工(fus1 fus2 fus3 fus4 fus5 fus6 fus7 fus8 fus9)使用該服務(wù)器!為了保障系統(tǒng)和其他數(shù)據(jù)的安全,要求用戶只能訪問ftp服務(wù)根目錄(/var/ftp)以下的數(shù)據(jù);要求根目錄下有一個(gè)公共目錄,該目錄所有人都可以訪問,并且具有上傳下載權(quán)限;根目錄下還要有每個(gè)部門的工作目錄,并且僅限該部門的員工訪問;在各部門目錄下要有一個(gè)僅限該部門員工使用的公共目錄,還要有每個(gè)員工的工作目錄,員工目錄要求只能該員工自己訪問;創(chuàng)建一個(gè)特權(quán)用戶(manager),該用戶可以訪問根目錄下的任何公共目錄,并且具有上傳下載的權(quán)限!為了方便特權(quán)用戶訪問,要求在每個(gè)部門的目錄被訪問時(shí)有該部門的提示信息;為了顯示人文精神,在用戶登錄ftp服務(wù)器時(shí),要顯示歡迎信息!另外,要求匿名用戶可以訪問,并且所有訪問ftp服務(wù)器的賬戶都不能登錄到系統(tǒng)!
思路:
1、安裝ftp服務(wù)器軟件,設(shè)置selinux訪問權(quán)限
2、測試環(huán)境是否可用,備份主配置文件
3、創(chuàng)建用戶組和用戶及其所屬目錄
4、修改服務(wù)器配置文件進(jìn)行訪問控制
5、修改目錄訪問權(quán)限控制訪問
6、重啟服務(wù)并設(shè)置開機(jī)啟動
步驟:
第一步:安裝vsftpd軟件
[root@feng ~]# yum install vsftpd -y
第二步:設(shè)置selinux安全訪問
[root@feng ~]#getsebool -a | grep ftp
[root@feng ~]#setsebool allow_ftpd_full_access 1
第三步:測試環(huán)境是否運(yùn)行正常
[root@feng ~]# service vsftpd start
[root@feng ~]# firefox ftp://127.0.0.1
另:安裝ftp客戶端測試:
[root@feng ~]# yum install ftp -y
(匿名用戶(ftp/anonymous)登錄不需要密碼)
第四步:備份主配置文件
[root@feng ~]# mkdir -p /backup/vsftpd
[root@feng ~]# cp -p /etc/vsftpd/vsftpd.conf /bachup/vsftpd/vsftpd.conf
第五步:創(chuàng)建用戶組及其部門目錄
[root@feng ~]# groupadd it
[root@feng ~]# groupadd fd
[root@feng ~]# groupadd hr
[root@feng ~]# mkdir -p /var/ftp/ou_{it,fd,hr}
第六步:創(chuàng)建用戶及其屬主目錄
[root@feng ~]# for name in fus{1..3}
> do
> useradd -s /sbin/nologin -d /var/ftp/ou_it/$name -g it -m $name
> echo 123456 | passwd –stdin $name
> done
[root@feng ~]# for name in fus{4..6}
> do
> useradd -s /sbin/nologin -d /var/ftp/ou_fd/$name -g fd -m $name
> echo 123456 | passwd –stdin $name
> done
[root@feng ~]# for name in fus{7..9}
> do
> useradd -s /sbin/nologin -d /var/ftp/ou_hr/$name -g hr -m $name
> echo 123456 | passwd –stdin $name
> done
第七步:創(chuàng)建特權(quán)用戶
[root@feng ~]# useradd -g it,hr,fd -d /var/ftp/manager -s /sbin/nologin manager
[root@feng ~]# echo 123456 | passwd –stdinmanager
第八步:檢查用戶屬性
[root@feng ~]# for name in fus{1..9}; do id $name; done
[root@feng ~]# id manager
第九步:修改服務(wù)器主配置文件
[root@feng ~]# cat /etc/vsftpd/vsftpd.conf | grep -ve ^$|#
anonymous_enable=yes //允許匿名用戶登錄
local_enable=yes //允許系統(tǒng)用戶登錄
write_enable=yes //啟用全局寫權(quán)限
local_umask=022 //系統(tǒng)用戶權(quán)限掩碼
anon_umask=022 //匿名用戶權(quán)限掩碼
anon_upload_enable=yes //允許匿名用戶上傳
anon_mkdir_write_enable=yes //允許匿名用戶創(chuàng)建目錄
dirmessage_enable=yes //開啟目錄訪問提示
message_file=.message //定義目錄訪問提示文件
xferlog_enable=yes //開啟用戶訪問日志記錄
xferlog_file=/var/log/vsftpd.log //定義日志記錄文件的位置及名稱(需要自己創(chuàng)建)
xferlog_std_format=yes //定義日志記錄的文件格式
connect_from_port_20=yes //定義服務(wù)器的連接端口
idle_session_timeout=600 //當(dāng)超過600s無交互時(shí)斷開會話
data_connection_timeout=120 //當(dāng)超過120s無數(shù)據(jù)時(shí)斷開傳輸通道
banner_file=/etc/vsftpd/banner //定義登錄提示文件banner的位置
chroot_local_user=yes //鎖定用戶訪問權(quán)限到家目錄
ls_recurse_enable=yes //允許用戶使用ls命令
listen=yes //定義vsftpd工作模式為standalone
pam_service_name=vsftpd //開啟vsftpd的pam認(rèn)證
userlist_enable=yes //開啟userlist訪問控制
userlist_deny=no //僅限userlist中的用戶訪問(雙重否定等于肯定)
tcp_wrappers=yes //開啟tcp訪問控制(hosts.allow和hosts.deny)
local_root=/var/ftp //鎖定系統(tǒng)用戶訪問的根目錄
no_anon_password=yes //匿名用戶訪問時(shí)提示輸入密碼,可直接訪問
第十步:創(chuàng)建主配置文件中定義的文件
vsftpd.log:
[root@feng ~]# touch /var/log/vsftpd.log
banner:
[root@feng ~]# vi /etc/vsftpd/banner
[root@feng ~]# cat /etc/vsftpd/banner
————————————-
hellow,everyone
welcome to ftpserver!
good luck!
————————————-
.message:
[root@feng ~]# echo welcome to it. > /var/ftp/ou_it/.message
[root@feng ~]# echo welcome to fd. > /var/ftp/ou_fd/.message
[root@feng ~]# echo welcome to hr. > /var/ftp/ou_hr/.message
user_list:
[root@feng ~]# for name in fus{1..9}; do echo $name; done > /etc/vsftpd/user_list
[root@feng ~]# echo ftp >> /etc/vsftpd/user_list
[root