linuxvsftpd用戶
Linux添加FTP用戶並設置許可權
在linux中添加ftp用戶,並設置相應的許可權,操作步驟如下:
1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/test
2、建用戶:在root用戶下:
useradd
-d
/home/test
test
//增加用戶test,並制定test用戶的主目錄為/home/test
passwd
test
//為test設置密碼
3、更改用戶相應的許可權設置:
usermod
-s
/sbin/nologin
test
//限定用戶test不能telnet,只能ftp
usermod
-s
/sbin/bash
test
//用戶test恢復正常
usermod
-d
/test
test
//更改用戶test的主目錄為/test
4、限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下:
www.2cto.com
chroot_list_enable=YES
//限制訪問自身目錄
#
(default
follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯
vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行
改完配置文件,不要忘記重啟vsFTPd伺服器
[root@linuxsir001
root]#
/etc/init.d/vsftpd
restart
5、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的許可權:
usermod
-s
/usr/bin/passwd
test
//用戶telnet後將直接進入改密界面
❷ Linux下安裝vsftpd常見問題
當我們限定了用戶不能跳出其主目錄(chroot_local_user=YES)之後,使用該用戶登錄FTP時往往會遇到這個錯誤,這個問題由於版本更新造成的,從2.3.5之後,vsftpd增強了安全檢查, 如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫許可權了! 如果檢查發現還有寫許可權,就會報該錯誤。
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫許可權,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列兩項中的一項:
參考: https://www.cnblogs.com/116970u/p/10788285.html
要是還不行,就使用客戶端工具吧,常用的FileZilla個大平台免費使用。
可以通過systemctl status vsftpd -l查看出現了什麼問題,本立當中就是出現了變數錯誤的情況
11月 20 19:01:36 MyCentos vsftpd[40707]: 500 OOPS: unrecognised variable in config file: anno_root
anno_root變數寫錯了,修改即可
❸ linux vsftpd本地用戶許可權設置
先確認下安裝上了沒,可以使用
代碼如下 復制代碼
[root@localhost sv005-mongodb]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
或者使用命令
[root@localhost sv005-mongodb]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
如果沒有安裝我們需要先是需要安裝:
代碼如下 復制代碼
yum install vsftpd
然後啟動vsftpd : /etc/init.d/vsftpd start
vi /etc/vsftpd/vsftpd.conf 修改裡面的 這兩項:
chroot_local_user=YES (須添加)
chroot_list_enable=NO
然後 保存即可!
創建用戶組:
groupadd 用戶組
useradd -g webusers -d /路徑 用戶名
passwd 用戶名 修改用戶的密碼。
chown -R 用戶名:用戶組 /路徑/
剛才由於修改了配置文件 所以要記得重啟:service vsftpd restart
OK ! 成功了!
到上面就完成了,如果你還需要加一些虛擬用戶,我們可向下看
vsFTPD配置虛擬用戶
FTP用戶一般是不能登錄系統的,這也是為了安全。在系統中,沒有許可權登錄系統的用戶一般也被稱之為虛擬用戶;虛擬用戶也是要寫進 /etc/passwd中;這只是一種虛擬用戶的方法,但說實在的並不是真正的虛擬用戶,只是把他登錄SHELL的許可權去掉了,所以他沒有能力登錄系統;如果我們想把beinan這個用戶目錄定位在/opt/beinan這個目錄中,並且不能登錄系統;我們應該如下操作。
代碼如下 復制代碼
[root@localhost ~]# adser -d /opt/beinan -g ftp -s /sbin/nologin beinan
[root@localhost ~]# passwd beinan
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
其實這還是不夠的,還要改一下配置文件vsftpd.conf ,以確保本地虛擬用戶能有讀寫許可權;
local_enable=YES
write_enable=YES
local_umask=022
如何實現虛擬路徑?
比如:
代碼如下 復制代碼
/home/a 映射為 ftp://localhost/a
/home/b/c 則為 ftp://localhost/c
可以通過如下的方法來實現。
[root@localhost ~]# mount –bind [原有的目錄] [新目錄]
比如我的ftp的默認目錄是/var/ftp,我想把/mnt/LinG/WinSoft文件夾,映射到/var/ftp目錄中,我就如下操作
我們要先在/var/ftp目錄中建一個目錄
代碼如下 復制代碼
[root@localhost ~]# mkdir /var/ftp/WinSoft
然後執行mount命令
[root@localhost ~]# mount –bind /mnt/LinG/WinSoft /var/ftp/WinSoft
這樣就OK了。
打開Linux vsFTPDv伺服器的日誌功能
把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開,這樣我們就能在/var/log目錄下查看vsftpd.log。這是vsFTP的日誌功能,這對於我們來說是極為重要的。xferlog_file=/var/log/vsftpd.log如何讓vsFTP伺服器限制鏈接數,以及每個IP最大的鏈接數?應該改Linux vsFTPD伺服器的配製文件vsftpd.conf,加入下面的兩行:
max_clients=數字
max_per_ip=數字
舉例:我想讓我的vsFTP最大支持鏈接數為100個,每個IP,最多能支持5個鏈接,所以我應該在vsftpd.conf中加上如下的兩行:
max_clients=100
max_per_ip=5
如何限制傳輸速度?
anon_max_rate=數字
註:這是匿名的速度
local_max_rate=數字
註:這是vsFTP伺服器上本地用戶的速度
註:這個數字的單位是byte,所以我們要計算一下。
比如我想讓匿名用戶和vsFTP上的用戶都以80KB下載,所以這個數字應該是1024×80=81920
所以我們要在vsftpd.conf中加入下面的兩行
anon_max_rate=81920
local_max_rate=81920
下面是一些常用的命令:
管理用戶組(group)的工具或命令;
groupadd 註:添加用戶組;
groupdel 註:刪除用戶組;
groupmod 註:修改用戶組信息
groups 註:顯示用戶所屬的用戶組
用戶管理命令
useradd 註:添加用戶
userdel 注 :刪除用戶
adser 註:添加用戶
passwd 註:為用戶設置密碼
usermod 註:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
❹ 在linux中vsftpd中的虛擬用戶怎麼配置求解
相關的虛擬用戶設置在
/etc/vsftpd/account
賬號文件
/etc/vsftpd/account.txt.
相關資料庫連接
/etc/pam.d/vsftp.vu建立步驟:
1.
在
/etc/vsftpd/下建立account.txt
文件
文件內為虛擬用戶賬號和密碼奇數行為賬號
偶數行為密碼
2.
生成口令文件,並修改許可權
#db_load
–T
–t
hash
–f
/etc/vsftpd/account
/etc/vsftpd/account.db
#chmod
600
/etc/vsftpd/account.db
2.生成口令庫文件,並修改其許可權:
#db_load
-T
-t
hash
-f
./account.txt
/etc/vsftpd/account.db
#chmod
600
/etc/vsftpd/account.db
3.新建一個虛擬用戶的PAM文件。加上如下兩行內容:
❺ linux vsftpd怎麼讓本地用戶允許登錄
限制本地用戶訪問FTP
Userlist_enable=yes
(用userlist來限制用戶訪問)
Userlist_deny=no
(名單中的人不允許訪問)
Userlist_file=/指定文件存放的路徑/
(文件放置的路徑)
註:開啟userlist_enable=yes匿名帳號不能登陸
所以只需要把你想訪問的用戶加到userlist裡面就可以了
❻ 關於linux vsftp 用戶許可權
useradd
-G
test
–d
/tmp/test
–M
usr1
註:G:用戶所在的組
d:表示創建用戶的自己目錄的位置給予指定
M:不建立默認的自家目錄,也就是說在/home下沒有自己的目錄
useradd
–G
test
–d
/tmp/test
–M
usr2
接著改變文件夾的屬主和許可權
chown
usr1.test
/tmp/test
----這表示把/tmp/test的屬主定為usr1
chmod
750
/tmp/test
----7表示wrx
5表示rx
0表示什麼許可權都沒有
這個實驗的目的就是usr1有上傳、刪除和下載的許可權
而usr2隻有下載的許可權沒有上傳和刪除的許可權
當然主配置文件vsftpd.conf
要確定local_enable=yes、write_enable=yes、chroot_local_usr=yes這三個選項
❼ Linux vsftpd伺服器的用戶主要分為哪幾種它們的區別
VSFTPD的用戶分為三類:匿名用戶、本地用戶(local user)以及虛擬用戶(guest)。
1、匿名用戶
anonymous_enable=YES|NO
控制是否允許匿名用戶登錄,YES允許,NO不允許,默認值為YES。
ftp_username=
匿名用戶所使用的系統用戶名。默認下,此參數在配置文件中不出現,值為ftp。
no_anon_password=YES|NO
控制匿名用戶登入時是否需要密碼,YES不需要,NO需要。默認值為NO。
deny_email_enable=YES|NO
此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址進行登錄的匿名用戶。即,當匿名用戶使用banned_email_file文件中所列出的e-mail進行登錄時,被拒絕。顯然,這對於阻擊某些Dos攻擊有效。當此參數生效時,需追加banned_email_file參數
banned_email_file=/etc/vsftpd.banned_emails
指定包含被拒絕的e-mail地址的文件,默認文件為/etc/vsftpd.banned_emails。
anon_root=
設定匿名用戶的根目錄,即匿名用戶登入後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/。
anon_world_readable_only=YES|NO
控制是否只允許匿名用戶下載可閱讀文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。默認值為YES。
anon_upload_enable=YES|NO
控制是否允許匿名用戶上傳文件,YES允許,NO不允許,默認是不設值,即為NO。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件:一,write_enable參數為YES;二,在文件系統上,FTP匿名用戶對某個目錄有寫許可權。
anon_mkdir_write_enable=YES|NO
控制是否允許匿名用戶創建新目錄,YES允許,NO不允許,默認是不設值,即為NO。當然在文件系統上,FTP匿名用戶必需對新目錄的上層目錄擁有寫許可權。
anon_other_write_enable=YES|NO
控制匿名用戶是否擁有除了上傳和新建目錄之外的其他許可權,如刪除、更名等。YES擁有,NO不擁有,默認值為NO。
chown_uploads=YES|NO
是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶所上傳的文件的所有權將改為另外一個不同的用戶所有,用戶由chown_username參數指定。此選項默認值為NO。
chown_username=whoever
指定擁有匿名用戶上傳文件所有權的用戶。此參數與chown_uploads聯用。不推薦使用root用戶。
2、本地用戶
在使用FTP服務的用戶中,除了匿名用戶外,還有一類在FTP伺服器所屬主機上擁有賬號的用戶。VSFTPD中稱此類用戶為本地用戶(local users),等同於其他FTP伺服器中的real用戶。
local_enable=YES|NO
控制vsftpd所在的系統的用戶是否可以登錄vsftpd。默認值為YES。
local_root=
定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。默認值為無。
user_config_dir=
定義用戶個人配置文件所在的目錄。用戶的個人配置文件為該目錄下的同名文件。個人配置文件的格式與vsftpd.conf格式相同。例如定義 user_config_dir=/etc/vsftpd/userconf,並且主機上有用戶xiaowang,lisi,那我們可以在 user_config_dir的目錄新增名為xiaowang、lisi的兩個文件。當用戶lisi 登入時,VSFTPD則會讀取user_config_dir下lisi這個文件中的設定值,應用於用戶lisi。默認值為無。
3、虛擬用戶
guest_enable=YES|NO
若是啟動這項功能,所有的非匿名登入者都視為guest。默認值為關閉。
guest_username=
定義VSFTPD的guest用戶在系統中的用戶名。默認值為ftp。