ftp的用戶權限配置

文件服務:

應用層:ftp;

內核級網絡文件系統:nfs

POSIX(可移植操作系統接口 Portable Operating System Interface of UNIX,縮寫為 POSIX

API(應用程序編程接口)

跨平臺的網絡文件系統:cifs samba

 

網絡存儲:

NASNetwork
Attached Stoage
,文件系統級接口;

SANStorage Area
Network
,塊級別接口;iSCSI;

 

ftp:應用層協議

file
transfer protocol
,21/tcp

C/S:

Client
<–> Server

 

連接:

命令連接;

數據連接:、

 

基于不同的套接字通信;

 

數據傳輸模式:

文本格式:

二進制格式:

 

數據連接:

主動模式:服務端通過20/tcp連接客戶端命令連接端口+1的端口;

問題:

被動模式:客戶端使用隨機端口連接服務器某隨機端口;

客戶端發出數據傳輸請求之后,服務器響應一個報文給客戶端;

112,123

 

協議安全:

明文;認證時傳輸的賬號和密碼均為明文;

 

安全增強:

ftps:
ftp over ssl
(基于傳輸層的協議,更多時候通用安全通信框架)

sftp:
ftp over ssh     
(基于應用層的協議,完成用戶遠程認證登錄)

 

C/S:協議的實現:就是開發出來符合協議要求的應用軟件

SServ-UIIS、FileZilla
Server

C

CLIftp, lftp,
curl, wget, lftpget, …

GUIFileZilla,
flashfxp, cute, gftp, …

 

S:開源解決方案;

wuftpdwashington
university

vsftpdvery secure
ftp daemon

pureftp

proftpd

 

程序環境:initservice
vsftpd start
啟動服務,監聽端口為21

主程序:/usr/sbin/vsftpd

主配置文件:/etc/vsftpd/vsftpd.conf

數據根目錄:/var/ftp

Systemd
Unit File
/usr/lib/systemd/system/vsftpd.service

 

配置vsftpd

 

用戶類別:

匿名用戶:anonymous –>
ftp, /var/ftp

系統用戶: 至少禁止系統用戶訪問ftp服務,/etc/vsftpd/ftpusers,PAM 插入式認證模塊(/etc/pam.d/vsftpd);

虛擬用戶:

 

用戶通過vsftpd服務訪問到的默認路徑,是用戶自己的家目錄;默認可以自己有權限訪問的所有路徑間切換;

禁錮用戶于其家目錄中;

 

配置文件:/etc/vsftpd/vsftpd.conf

directive
value

注意:directive之前不能有多余字符;

 

匿名用戶:

anonymous_enable=YES 是否允許匿名賬戶訪問,默認是允許,NO表示禁止

anon_upload_enable=YES        默認處于注釋狀態,表示是否允許用戶上傳文件

anon_mkdir_write_enable=YES                是否允許用戶創建目錄,默認為開啟,編輯開啟

anon_other_write_enable=YES                是否允許用戶刪除文件,默認未開啟,自己添加

 

系統用戶:

使用:lftp -u centos
172.18.253.24
,登錄本地用戶

local_enable=YES

是否允許系統用戶或者本地用戶登錄,默認允許,且可以上傳文件、刪除文件、創建目錄、刪除目錄

write_enable=YES

 

輔助配置文件/etc/vsftpd/ftpusers;

列在此文件中的用戶 均禁止使用ftp服務;

 

chroot_local_user=YES

禁錮所有本地用戶 于其家目錄;需要事先去除用戶對家目錄的寫權限;

 

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

禁錮列表中文件存在的用戶于其家目錄中;需要事先去除用戶對家目錄的寫權限;

 

傳輸日志:

xferlog_enable=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

 

守護進程的類型:

standalone:獨立守護進程;由服務進程自行監聽套按字,并接收用戶訪問請求;

transient:瞬時守護進程;由受托管方代為監聽套按字,服務進程沒有訪問請求時不啟動;當托管方收到訪問請求時,才啟動服務進程;

CentOS 6xinetd獨立守護進程,
/etc/xinetd.d/,

CentOS 7:由systemd代為監聽;

 

控制可登錄vsftpd服務的用戶列表:

userlist_enable=YES

啟用/etc/vsftpd/user_list文件來控制可登錄用戶;

userlist_deny=

YES:意味著此為黑名單;

NO:白名單;

 

虛擬用戶:

用戶賬號存儲于何處?

文件、MySQLRedis、

 

vsftpd:認證功能托管給pam;

基于何種存儲服務來存儲用戶信息,以及對存儲服務的驅動要靠pam實現;

 

pam_mysql

# yum
install mariadb-devel pam-devel

 

# ./configure
–with-pam=/usr –with-mysql=/usr –with-pam-mods-dir=/usr/lib64/security

# make
&& make install

 

創建數據庫、授權用戶、創建賬號和密碼;

 

提供配置文件:/etc/pam.d/vsftpd.vusers

auth
required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=mageedu
host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
crypt=2

account
required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=mageedu
host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
crypt=2

 

配置vsftpd,添加或修改以下選項:

pam_service_name=vsftpd.vusers
                
文件名必須和上面創建的文件同名

guest_enable=YES

guest_username=vuser         其中vuser是可以隨意創建的

 

虛擬用戶的寫權限,通過匿名一樣的指令進行定義;

還能實現不同的用戶有不同的權限;

 

1.vsftp.conf里面加入如下一行

user_config_dir=/etc/vsftpd/vusers_config/

2.其次在/etc/vsftpd/vusers_config,建立以用戶名命名的文件并編輯

vim tom

anon_upload_enbale=NO
#
不允許虛擬用戶tom上傳文件

vim
jerry

anon_upload_enable=YES        #允許虛擬用戶jerry上傳文件

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

(1)
oranixoranix
上一篇 2017-05-02 08:56
下一篇 2017-05-02 11:39

相關推薦

  • 關于linux的小小心得

    1、命令行歷史  history(history顯示當前終端的歷史記錄)    (1) 保存你輸入的命令歷史。 可以用它來重復執行命令    (2) 登錄shell時, 會讀取命令歷史文件中記錄下的命令 ~/.bash_history    (3)登錄進shell后新執行的命令只…

    Linux干貨 2017-07-15
  • tomcat基礎-如何給Tomcat前端加反向代理服務器

    Tomcat可以做為反向代理服務器的組件有很多,例如使用nginx,如果使用nginx,Tomcat就只能使用http連接器,另外一種是apache。如果是使用httpd,Tomcat兩種連接器都能發揮作用,例如可以使用http連接器,也可以使用ajp連接器,

    Linux干貨 2018-03-19
  • Linux內核編譯過程詳解

    前言 Linux內核是Linux操作系統的核心,也是整個Linux功能體現的核心,就如同發動機在汽車中的重要性。內核主要功能包括進程管理、內存管理、文件管理、設備管理、網絡管理等。Linux內核是單內核設計,但卻采用了微內核的模塊化設計,支持內核線程以及動態裝載內核模塊的能力。 Linux作為一個自由軟件,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂…

    Linux干貨 2015-04-01
  • N25 _WSH 第二周

    2、bash 命令執行的狀態結果:        * bash通過狀態返回值來輸出此結果:            * 成功:0            失?。?-255     &n…

    系統運維 2016-12-12
  • http協議基礎(一)

    web服務:      Apache      Nginx      LVS      http協議 網站運維:      web站點      游戲網站web服務 高性能,高可用…

    Linux干貨 2017-04-18
  • 網絡配置——命令家族

    Linux網絡屬性配置命令: ifcfg家族:ifconfig,route,netstat ifconfig命令:接口及地址查看和管理          ·ifconfig [INTERFACE]       &nbsp…

    Linux干貨 2016-09-07
欧美性久久久久