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-U、IIS、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:白名單;

 

虛擬用戶:

用戶賬號存儲于何處?

文件、MySQL、Redis、

 

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
下一篇 2017-05-02

相關推薦

  • VSFTPD+PAM+[基于文件虛擬用戶認證 | 基于MYSQL虛擬用戶認證]

    VSFTPD+PAM+[基于文件虛擬用戶認證 | 基于MYSQL虛擬用戶認證] VSFTPD+PAM+[基于文件虛擬用戶認證 | 基于MYSQL虛擬用戶認證] 一、實驗環境 二、實驗步驟 1、通過mysql數據庫方式虛擬用戶認證 1.1數據庫配置 1.2FTP配置 1.3測試 2、通過文件方式進行虛擬用戶認證 一、實驗環境 CentOS 6.7+vsftpd…

    Linux干貨 2016-04-18
  • bash數據類型探秘

    數組 變量:存儲單個元素的內存空間數組:存儲多個元素的連續的內存空間,相當于多個變量的在調用變量時最好加雙引號,對于字符串中含有空格等字符的能更好的調用集合。數組名和索引索引:編號從0開始,屬于數值索引( 偏移量從默認0開始 )注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引, bash4.0版本之后開始支持。bash的數組支持稀疏格式(索引…

    Linux干貨 2016-08-24
  • 從Linux小白到大?!c狼共舞的日子12(上)

    馬哥教育網絡班21期+第12周課程練習 1、請描述一次完整的http請求處理過程; 1)建立或處理連接:客戶端發送http請求報文,服務器端接收或拒絕請求; 2)接收請求:服務器端接收來自客戶端對某些資源的請求; 3)處理請求:服務器端解析客戶端請求報文,獲取客戶端請求的資源及請求方法等信息; 4)訪問資源:服務器端獲取客戶端請求的資源; 5)構建響應報文;…

    Linux干貨 2016-12-26
  • 五種開源協議的比較(BSD,GPL,LGPL,Apache,BSD)

    BSD開源協議(original BSD license、FreeBSD license、Original BSD license) BSD開源協議是一個給于使用者很大自由的協議?;旧鲜褂谜呖梢浴睘樗麨椤?可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。 但”為所欲為”的前提當你發布使用了BSD協議的代碼,或則以BSD協議代碼…

    Linux干貨 2016-01-16
  • 用戶與組

    一、用戶與組的概念 1、Linux多用戶,多任務的特性    Linux是多用戶多任務操作系統,多用戶多任務就是可在系統上建多個用戶,多個用戶可同一時間同一個系統互不影執行的響各自不同的任務。例如linux服務器上有root、www、ftp,四個用戶。同一時間內,root用戶在查看系統日志,管理維護系統,www用戶在修改自己的網頁程序,f…

    Linux干貨 2016-10-25
  • Linux各文件顏色

    Linux系統中默認將不同的文件類型以不同的顏色加以區分: 1、普通文件   白色 2、目錄文件  藍色 3、鏈接文件  青色 4、套接字文件  粉紅色 5、可執行文件  綠色 6、管道文件  7、塊文件   黃色 8、壓縮文件  紅色 默認文件顯示顏色可以在…

    Linux干貨 2016-10-19
欧美性久久久久