㈠ linux下sudo不要密碼怎麼實現
設置linux下sudo不要密碼的步驟如下:
1、首先以root用戶登錄,並且新建一個普通的用戶,用戶名為test。
這樣就解決了「linux下sudo不要密碼」的問題。
(1)linux免密ftp擴展閱讀:
1)Linux由眾多微內核組成,其源代碼完全開源;
2)Linux繼承了Unix的特性,具有非常強大的網路功能,其支持所有的網際網路協議,包括TCP/IPv4、TCP/IPv6和鏈路層拓撲程序等,且可以利用Unix的網路特性開發出新的協議棧;
3)Linux系統工具鏈完整,簡單操作就可以配置出合適的開發環境,可以簡化開發過程,減少開發中模擬工具的障礙,使系統具有較強的移植性;
㈡ 怎麼通過linux訪問伺服器上的ftp
這個直接推薦你看看這里:http://www.linuxprobe.com/chapter-11.html
文件傳輸協議(FTP,File Transfer Protocol),即能夠讓用戶在互聯網中上傳、下載文件的文件協議,而FTP伺服器就是支持FTP傳輸協議的主機,要想完成文件傳輸則需要FTP服務端和FTP客戶端的配合才行。
通常用戶使用FTP客戶端軟體向FTP伺服器發起連接並發送FTP指令,伺服器收到用戶指令後將執行結果返回客戶端。
FTP協議佔用兩個埠號:
21埠:命令控制,用於接收客戶端執行的FTP命令。
20埠:數據傳輸,用於上傳、下載文件數據。
FTP數據傳輸的類型:
主動模式:FTP服務端主動向FTP客戶端發起連接請求。
被動模式:FTP服務端等待FTP客戶端的連接請求。
11.2 安裝vsftpd服務程序
Vsftpd即「Very Secure FTP Daemon」是一款運行在類Unix操作系統的FTP服務端程序,Vsftpd主打的是安全性、完全開源及免費、速率高、支持IPv6、虛擬用戶功能等等其他FTP服務端軟體不具備的功能。
安裝vsftpd服務程序包:
[root@linuxprobe ~]# yum install vsftpd -y
Loaded plugins: langpacks, proct-id, subscription-manager
…………………省略部分安裝過程………………
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
…………………省略部分安裝過程…………………
Installed:
vsftpd.x86_64 0:3.0.2-9.el7
Complete!
清空默認的防火牆默認規則:
[root@linuxprobe ~]# iptables -F
保存清空後的防火牆規則表:
[root@linuxprobe ~]# service iptables save
Vsftpd的程序與配置文件:
主程序 /usr/sbin/vsftpd
用戶禁止登陸列表 /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf
先來分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
主配置文件長達123行,但大部分是以#號開始的,這些都是注釋信息,我們可以過濾掉它們。
備份vsftpd的主配置文件:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
過濾掉所有包含#號的行,並將過濾結果寫回到vsftpd.conf文件中:
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
此時再分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
vsftpd程序配置文件參數的作用:
參數 作用
listen=[YES|NO] 是否以獨立運行的方式監聽服務。
listen_address=IP地址 設置要監聽的IP地址。
listen_port=21 設置FTP服務的監聽埠。
download_enable=[YES|NO] 是否允許下載文件。
userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 是否啟用「禁止登陸用戶名單」。
max_clients=0 最大客戶端連接數,0為不限制。
max_per_ip=0 同一IP地址最大連接數,0位不限制。
anonymous_enable=[YES|NO] 是否允許匿名用戶訪問。
anon_upload_enable=[YES|NO] 是否允許匿名用戶上傳文件。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_root=/var/ftp 匿名用戶的FTP根目錄。
anon_mkdir_write_enable=[YES|NO] 是否允許匿名用戶創建目錄。
anon_other_write_enable=[YES|NO] 是否開放匿名用戶其他寫入許可權。
anon_max_rate=0 匿名用戶最大傳輸速率(位元組),0為不限制。
local_enable=[YES|NO] 是否允許本地用戶登陸FTP。
local_umask=022 本地用戶上傳文件的umask值。
local_root=/var/ftp 本地用戶的FTP根目錄。
chroot_local_user=[YES|NO] 是否將用戶許可權禁錮在FTP目錄,更加的安全。
local_max_rate=0 本地用戶最大傳輸速率(位元組),0為不限制。
11.3 Vsftpd的驗證方式
vsftpd程序提供的FTP服務可選認證方式,分別為匿名訪問、本地用戶和虛擬用戶:
匿名訪問:任何人無需驗證口令即可登入FTP服務端。
本地用戶:使用FTP伺服器中的用戶、密碼信息。
虛擬用戶:創建獨立的FTP帳號資料。
顧名思義匿名訪問就是所有人均可隨意登入FTP服務,這樣自然會產生安全問題,一般用於存放公開的數據。
而本地用戶與虛擬用戶則需要用戶提供帳號及口令後才能登入FTP服務,更加的安全,而虛擬用戶則是最安全的。
下面的實驗環節將使用兩台紅帽RHEL7系統的主機,讀者需要提前配置網卡的IP地址等信息:
主機名稱 操作系統 IP地址
FTP服務端 紅帽RHEL7操作系統 192.168.10.10
FTP客戶端 紅帽RHEL7操作系統 192.168.10.20
11.3.1 匿名訪問模式
FTP匿名訪問模式是比較不安全的服務模式,尤其在真實的工作環境中千萬不要存放敏感的數據,以免泄露。
vsftpd程序默認已經允許匿名訪問模式,我們要做的就是開啟匿名用戶的上傳和寫入許可權,寫入下面的參數:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
參數 作用
anonymous_enable=YES 允許匿名訪問模式。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名或刪除目錄
確認填寫正確後保存並退出vsftpd.conf文件,然後重啟vsftpd服務程序並設置為開機自啟動。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因為在紅帽RHCSA、RHCE或RHCA考試後都要重啟您的實驗機再執行判分腳本。
所以請讀者在日常工作中也要記得將需要的服務加入到開機啟動項中:"systemctl enable vsftpd"。
如果重啟vsftpd服務程序時沒有報錯,此時便可以使用FTP客戶機(192.168.10.20)嘗試登入FTP服務了。
ftp命令用於使用FTP服務,格式為:「ftp [參數] [FTP主機]」。
紅帽RHEL7系統中ftp命令默認沒有安裝,請執行"yum install ftp -y"即可安裝完畢。
在客戶端嘗試登入FTP服務:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲擊回車
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.
上面操作中已經將防火牆規則清空,在vsftpd.conf文件中也已經允許匿名用戶創建目錄與寫入許可權,那怎麼會被拒絕了呢?
這里建議讀者先不要往下看,思考後用自己的方法解決下這個問題,長期這樣你的Linux的排錯能力一定會練出來的。
回想前面的參數細節,匿名訪問模式的FTP根目錄為/var/ftp:
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub
原來匿名用戶的FTP根目錄所有者/組都是root,所以匿名用戶沒有寫入許可權,那我們將所有者修改為ftp試試吧。
[root@linuxprobe ~]# chown ftp /var/ftp/pub
此時再用ftp命令嘗試登入FTP服務並創建文件:
ftp> mkdir files
550 Create directory operation failed.
可惡!又報錯了!!雖然這次報錯代碼還是550,但前面提示許可權拒絕,這次是操作失敗,馬上想到是SELinux服務在搗鬼。
查看所有與ftp相關的SELinux規則:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off
設置SELinux服務對ftp服務的訪問規則策略為允許。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
此時再來創建文件或目錄就沒有問題了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲擊回車
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
請注意:當您完成本實驗後請還原虛擬機快照再進行下一個實驗,否則可能導致配置文件沖突而報錯。
11.3.2 本地用戶模式
既然要使用本地用戶模式,而本地用戶模式確實要比匿名訪問模式更加的安全,所以本實驗中會關閉匿名訪問模式。
vsftpd服務程序默認已經允許本地用戶模式,我們要做的是添加設置本地用戶模式許可權的參數:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
參數 作用
anonymous_enable=NO 禁止匿名訪問模式。
local_enable=YES 允許本地用戶模式。
write_enable=YES 設置可寫入許可權。
local_umask=022 本地用戶模式創建文件的umask值。
userlist_deny=YES 參數值為YES即禁止名單中的用戶,參數值為NO則代表僅允許名單中的用戶。
userlist_enable=YES 允許「禁止登陸名單」,名單文件為ftpusers與user_list。
確認填寫正確後保存並退出vsftpd.conf文件,然後重啟vsftpd服務程序並設置為開機自啟動。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因為在紅帽RHCSA、RHCE或RHCA考試後都要重啟您的實驗機再執行判分腳本。
所以請讀者在日常工作中也要記得將需要的服務加入到開機啟動項中:」systemctl enable vsftpd「。
如果重啟vsftpd服務程序時沒有報錯,此時便可以使用FTP客戶機(192.168.10.20)嘗試登入FTP服務了~
我們先來看下ftpusers或user_list文件中禁止登陸用戶名單:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服務為了讓FTP服務更加的安全,默認禁止以root身份登入,那麼創建個普通用戶吧:
[root@linuxprobe ~]# useradd linuxprobe
為linuxprobe用戶設置密碼:
[root@linuxprobe ~]# passwd linuxprobe
Changing password for user linuxprobe.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
在客戶端嘗試登入FTP服務:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:輸入用戶的本地密碼
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
550 Create directory operation failed.
有了上面配置匿名訪問模式的經驗,這次再遇到了「操作被拒絕」,應該馬上想到SELinux了吧。
查看所有與ftp相關的SELinux規則:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off
設置SELinux對FTP服務的規則為允許:
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
此時再來創建文件或目錄就沒有問題了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:輸入用戶本地密碼
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
257 "/home/linuxprobe/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
㈢ linux 使用ftp進行文件傳輸時兩種登陸方式 (急!!!!)
使用ftp命令進行遠程文件傳輸 ftp命令是標準的文件傳輸協議的用戶介面。ftp是在TCP/IP網路上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。
在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一台計算機上。從此,用戶可以在目錄中上下移動、列出目錄內容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸到遠程系統中。需要注意的是,如果用戶沒有那個文件的存取許可權,就不能從遠程系統中獲得文件或向遠程系統傳輸文件。
為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp 會話,並用來確定用戶對要傳輸的文件可以進行什麼樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。
Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:
$ ftp 主機名/IP
其中「主機名/IP」是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬於選項,如果指定主機名,ftp將試圖與遠程機的ftp服務程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:
$ ftp
ftp >
此時在ftp>提示符後面輸入open命令加主機名或IP地址,將試圖連接指定的主機。
不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號並需要提供口令。在遠程機上的用戶帳號的讀寫許可權決定該用戶在遠程機上能下載什麼文件和將上載文件放到哪個目錄中。
如果沒有遠程機的專用登錄帳號,許多ftp站點設有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。
如果遠程系統提供匿名ftp服務,用戶使用這項服務可以登錄到特殊的,供公開使用的目錄。一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。
一旦用戶使用ftp在遠程站點上登錄成功,將得到「ftp>」提示符。現在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在 help命令後面指定具體的命令名稱,獲得這條命令的說明。
最常用的命令有:
ls 列出遠程機的當前目錄
cd 在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii 設置文件傳輸方式為ASCII模式
binary 設置文件傳輸方式為二進制模式
close 終止當前的ftp會話
hash 每次傳輸完數據緩沖區中的數據後就顯示一個#號
get(mget) 從遠程機傳送指定文件到本地機
put(mput) 從本地機傳送指定文件到遠程機
open 連接遠程ftp站點
斷開與遠程機的連接並退出ftp
? 顯示本地幫助信息
! 轉到Shell中
下面簡單將ftp常用命令作一簡介。
啟動ftp會話
open命令用於打開一個與遠程主機的會話。該命令的一般格式是:
open 主機名/IP
如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數的ftp命令。如果在會話期間只想與一台計算機連接,那麼在命令行上指定遠程主機名或IP地址作為ftp命令的參數。
終止ftp會話
close、disconnect、和bye命令用於終止與遠程機的會話。close和disronnect命令關閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。和bye命令都關閉用戶與遠程機的連接,然後退出用戶機上的ftp 程序。
改變目錄
「cd [目錄]」命令用於在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。
遠程目錄列表
ls命令列出遠程目錄的內容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是:
ls [目錄] [本地文件]
如果指定了目錄作為參數,那麼ls就列出該目錄的內容。如果給出一個本地文件的名字,那麼這個目錄列表被放入本地機上您指定的這個文件中。
從遠程系統獲取文件
get和mget命令用於從遠程機上獲取文件。get命令的一般格式為:
get 文件名
您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創建時的文件名。如果您不給出一個本地文件名,那麼就使用遠程文件原來的名字。
mget命令一次獲取多個遠程文件。mget命令的一般格式為:
mget 文件名列表
使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。
向遠程系統發送文件
put和mput命令用於向遠程機發送文件。Put命令的一般格式為:
put 文件名
mput命令一次發送多個本地文件,mput命令的一般格式為:
mput 文件名列表
使用用空格分隔的或帶通配符的文件名列表來指定要發送的文件。對其中的每個文件都要求用戶確認是否發送。
改變文件傳輸模式
默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設置傳輸的模式。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。
檢查傳輸狀態
傳輸大型文件時,可能會發現讓ftp提供關於傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數據緩沖區中的數據後,就在屏幕上列印一個#字元。本命令在發送和接收文件時都可以使用。
ftp中的本地命令
當您使用ftp時,字元「!」用於向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir new_dir,那麼Linux就在用戶當前的本地目錄中創建一個名為new_dir 的目錄。
從遠程機grunthos下載二進制數據文件的典型對話過程如下:
$ ftp grunthos
Connected to grunthos
220 grunthos ftp server
Name (grunthos:pc): anonymous
33l Guest login ok, send your complete e-mail address as password.
Password:
230 Guest 1ogin ok, access restrictions apply.
Remote system type is UNIX.
ftp > cd pub
250 CWD command successful.
ftp > ls
200 PORT command successful.
l50 opening ASCII mode data connection for /bin/1s.
total ll4
rog1
rog2
226 Transfer comp1ete .
ftp > binary
200 type set to I.
ftp > hash
Hash mark printing on (1024 bytes/hash mark).
ftp > get rog1
200 PORT command successfu1.
150 opening BINARY mode data connection for rogl (l4684 bytes).
# # # # # # # # # # # # #
226 Transfer complete.
14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)
ftp >
22l Goodbye.
㈣ 如何搭建ftp伺服器 linux
Red Hat Linux下架設FTP伺服器
FTP,即File Transfer Protocol,文件傳輸協議。它是目前Internet上最流行的數據傳送方法之一。利用FTP協議,我們可以在FTP伺服器和FTP客戶端之間進行雙向數據傳輸,既可以把數據從FTP伺服器上下載到本地客戶端,又可以從客戶端上傳數據到遠程FTP伺服器。
1.安裝vsftpd伺服器
vsftpd是目前Linux最好的FTP伺服器工具之一,其中的vs就是「Very Secure」(很安全)的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定製強,效率高的優點。
如果選擇完全安裝RedHat Linux 9.0,則系統會默認安裝vsftpd伺服器。我們可以在終端命令窗口輸入以下命令進行驗證:
[root@ahpeng root] rpm -qa | grep vsftpd
如果結果顯示為「vsftpd-1.1.3-8」,則說明系統已經安裝vsftpd伺服器。如果安裝RedHat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊「主菜單→系統設置→添加刪除應用程序」菜單項,在出現的「軟體包管理」對話框里確保選中「FTP伺服器」選項,然後單擊「更新」按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。
另外,你也可以直接插入第3張安裝光碟,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端命令窗口運行以下命令即可開始安裝進程:
[root@ahpeng RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
確認vsftpd服務已經啟動後,我們可以在任意一台Windows主機的DOS命令窗口裡輸入「ftp FTPAddres」(用實際的FTP伺服器IP地址或者域名代替FTPAddres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號),如下所述:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
F:\Peter>;ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3) //vsftpd的響應請求
User (FTPAddress:(none)): ftp //輸入用戶賬號ftp
331 Please specify thepassword.
Password: //輸入密碼ftp
230 Login successful. Havefun.
ftp>;
3.vsftpd的配置
在Red HatLinux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用「SIZE/big/file」這樣的指令大量消耗FTP伺服器的I/O資源。
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容。
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log。
㈤ 如何設置有直接登陸FTP的許可權,不用再輸入用戶名和密碼
首先先說一下ftp為了安全考慮,都是需要設置專門的ftp用戶名和密碼的。否則,ftp伺服器可能很容易被黑客ftp漏洞掃描軟體批量掃描到,從而受到黑客們的入侵。一旦入侵,後果不堪設想。
關於不再輸入用戶名和密碼,咱們可以通過相應的軟體去咱們的伺服器搭建FTP管理軟體,在添加用戶的時候,咱們可以設置無用戶和無密碼這種狀態或者允許通過FTP匿名訪問咱們的伺服器對應的文件目錄或者文件。
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
㈥ 怎麼用linux搭建ftp伺服器
vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的ftp軟體
方法/步驟
1、用在線安裝
yum install vsftpd pam* db4*-y
使用命令將vsftp配置為系統服務
chkconfig --level 35 vsftpd on
2、配置vsftpd服務的宿主
useradd vsftpdadmin -s /sbin/nologin -M
這個vsftpdadmin只是用來替換root的,並不需要登錄
3、建立ftp虛擬宿主帳戶
useradd vsftpuser -s /sbin/nologin -M
這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的
4、配置vsftpd.conf 配置之前要先備份一下原來的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --> anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。
chroot_list_enable=YES --> chroot_list_enable=YES //不允許FTP用戶離開自己主目錄
增加
#設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#這一步非常重要,要記住這一步。一會要根據這個配置新建文件夾
#修改埠號
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置
5、建立虛擬用戶文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
6、建立虛擬用戶
vi /etc/vsftpd/vonf/vir_user
virtualuser //用戶名
12345678 //密碼
7、生成資料庫
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
8、設置資料庫文件訪問許可權
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
9、修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)
10
根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夾
mkdir /etc/vsftpd/vconf/userlocal
11、根據第六步建立的用戶名建立一個文件
例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
12、編輯該用戶訪問的文件路徑
vi /etc/vsftpd/conf/userlocal/virtualuser
輸入如下
local_root= //需要指定的網站根目錄,例如www..com所在文件夾為/www/
anonymous_enable=NO #禁止匿名用戶訪問
write_enable=YES #開啟寫許可權
local_umask=022 #上傳後文件的許可權掩碼
anon_upload_enable=NO #關閉匿名下載
anon_mkdir_write_enable=NO #關閉匿名創建文件夾
idle_session_timeout=60 #會話自動關閉時間 60是因分鍾
data_connection_timeout=120 #數據延遲時間
max_clients=10 #最大連接數
max_per_ip=5 #同一個ip同時允許5個IP聯機
local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制
13、配置就此完成,重啟vsftpd服務:service vsftpd restart。
查看系統埠狀態:netstas -tulnp。如果能看到48796埠正在被vsftpd調用說明啟動成功。
㈦ linux系統中裝了,vsftpd ,怎麼查看ftp帳號和密碼
安裝了vsftpd會自動生成「ftp」這個賬號,但是密碼好像默認是沒有的吧
忘記了密碼有一個很簡單的辦法
輸入 passwd 用戶名
然後就會讓你輸入兩次密碼,密碼就被修改了,不需要原來的密碼
㈧ FTP 怎麼樣設置無密碼登陸,像打開U盤一樣不需要賬戶密碼直接打開
遠程登陸FTP是一般都是需要帳號密碼的你可以在FTP伺服器里設置允許匿名登陸然後你就可使用FTP作為帳號和密碼進行匿名登陸了
㈨ linux伺服器中某個文件ftp怎麼設置
配置ftp有三種模式,但是這里字數有限,下面這個是匿名的。詳細的你可以看下最後那個連接
vsftpd服務程序中匿名開放是一種最不安全的驗證模式,任何人都可以無需密碼驗證就登陸到FTP服務端主機,這種模式一般只用來保存不重要的公開文件,尤其是在生產環境中更要注意不放敏感文件,當然也非常推薦用咱們第八章中學習的防火牆管理工具(例如Tcp_wrappers)將vsftpd服務程序的允許訪問主機范圍設置為企業內網,這樣還算能夠保證基本的安全性。
vsftpd服務程序默認已經開啟了匿名訪問模式,咱們需要做的就是進一步允許匿名用戶的上傳、下載文件的許可權,以及讓匿名用戶能夠創建、刪除、更名文件的許可權,這些許可權對於匿名用戶來講非常的危險,咱們只是為了練習Linux系統中vsftpd服務程序的配置能力,十分不推薦在生產環境中使用,匿名用戶的許可權參數及介紹:
參數
作用
anonymous_enable=YES
允許匿名訪問模式。
anon_umask=022
匿名用戶上傳文件的umask值。
anon_upload_enable=YES
允許匿名用戶上傳文件
anon_mkdir_write_enable=YES
允許匿名用戶創建目錄
anon_other_write_enable=YES
允許匿名用戶修改目錄名或刪除目錄
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
確認參數填寫正確後保存並退出vsftpd服務程序的主配置文件,還需要重啟vsftpd服務程序來讓新的配置服務參數生效,並且同學們在生產環境中或者紅帽RHCSA、RHCE、RHCA認證考試中也請記得一定要把配置過的服務程序加入到開機啟動項中,以保證下次伺服器重啟後依然能夠為用戶正常提供ftp文件傳輸服務:
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
這樣咱們就可以在客戶端上面使用ftp命令連接到遠程的FTP伺服器上面了,FTP服務的匿名開放模式的帳號統一為anonymous,密碼為空。匿名模式登陸到FTP伺服器後默認所在位置為/var/ftp目錄,咱們可以切換至裡面的pub目錄中,然後嘗試創建一個新的目錄文件來檢驗是否已經有了寫入許可權:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.
剛剛咱們已經把iptables防火牆策略清空,而且也在vsftpd服務程序的主配置文件中添加了允許匿名用戶創建目錄和寫入文件的許可權,那麼為什麼還會被拒絕呢?建議同學們先不要往下面看,思考後用自己的方法嘗試解決下這個問題,長期這樣您的Linux系統排錯能力就一定會練出來的。
回想起前面操作的細節,咱們FTP服務的匿名開放模式是默認登陸到了/var/ftp目錄中,查看下這個目錄的許可權後才發現原來只有root管理員用戶才有寫入許可權的,怪不得會提示寫入出錯呢,咱們只需要把目錄的所有者身份改成系統帳戶ftp即可,這樣就應該可以了吧~
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# chown -Rf ftp /var/ftp/pub
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 ftp root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Create directory operation failed.
又報錯了!!此時再次使用ftp命令登入到FTP伺服器主機後依然會提示寫入操作失敗,但細心的同學一定發現報錯信息已經產生了變化,在剛剛沒有寫入許可權的時候提示說許可權拒絕(Permission denied.)所以咱們懷疑是許可權的問題,但現在是提示創建目錄的操作失敗(Create directory operation failed.)那麼咱們同學應該也能馬上意識到是SELinux服務在限制這個操作了吧,查看下所有與ftp相關的SELinux域策略有那些吧:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off
根據策略的名稱和經驗可以猜測出是哪一條規則策略,咱們在設置的時候請記得使用-P參數來讓配置過的策略永久生效,保證在伺服器重啟後依然能夠順利寫入文件,咱們可以分別嘗試下創建目錄文件、對文件進行改名以及刪除目錄文件等等操作。最後,恭喜同學們完成了這個實驗課程,建議您在進行一次實驗課程前還原虛擬機到最初始的狀態,以免多個配置參數之間產生沖突。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
樓主可以看下http://www.linuxprobe.com/chapter-11.html#112_Vsftpd查看下詳情,有圖會比較方便理解
㈩ 如何在linux上配置ftp 及創建 ftp用戶
做一個虛擬賬戶就解決了:
步驟如下:
1、建立虛擬用戶口令庫文件
口令庫文件中奇數行設置用戶名,偶數行設置口令
# vi /etc/vsftpd/logins.txt 注意,一下是4行
upload 這個是帳戶名
upload 這個是密碼
download
download
2、生成vsftpd的認證文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
設置認證文件只對用戶可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虛擬用戶所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最後的2個文件名vsftpd_login和第2個步驟中的資料庫名字必須一致!
4、建立虛擬用戶所要訪問的目錄並設置相應許可權
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用戶名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、設置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、設置主配置文件
在vsftpd.conf文件中添加用戶配置文件目錄設置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用戶配置文件目錄
使用mkdir命令建立用戶配置文件目錄
# mkdir /etc/vsftpd_user_conf
為虛擬用戶建立單獨的配置文件,用戶配置文件名稱與用戶名相同
touch /etc/vsftpd_user_conf/upload
touch /etc/vsftpd_user_conf/download
8、每個FTP虛擬用戶都可以獨立設置其許可權
vi /etc/vsftpd_user_conf/upload
anon_world_readable_only=NO 可讀可下載
anon_upload_enable=YES 可上傳
anon_mkdir_write_enable=YES 可創建和刪除文件夾
anon_other_write_enable=YES 可文件改名和刪除文件
local_root=/home/ftpsite/upload 指定upload的宿主目錄
download_enable=NO 禁止下載
(注意:請先到/home/ftpsite下面去創建upload文件夾)