一:安裝ftp
1、檢查是否安裝了 ftp :(下圖是已安裝的效果,沒安裝沒有展示)
rpm -qa|grep vsftpd
2、安裝指令:(找一個 -y 指令)
yum install -y vsftpd
3、安裝完成后執行步驟1 就可以看到ftp的版本信息
4、安裝完成后,啟動 FTP 服務:
service vsftpd start
5、啟動后,可以看到系統已經監聽了 21 端口:
netstat -nltp | grep 21
6、禁用匿名用戶
vi /etc/vsftpd/vsftpd.conf (anonymous_enable=NO-----yes改為no)
7、保存后重啟
service vsftpd restart
二:創建用戶權限
1、創建用戶,並指定分組和主目錄(根據自己的需求設定參數)
useradd -d /opt/reconciliation -s /sbin/nologin -g ftpGroup -G root ftpUser
解析:
useradd 添加用戶ftpUser
-d 指定用戶根目錄為/opt/reconciliation
-s 指定shell腳本為/sbin/nologin,表示不允許shell登錄 (vi /etc/passwd 編輯用戶shell權限的地方)
-g 創建分組ftpGroup
-G 指定root分組
PS:創建有問題可以刪除重新創建 userdel -r ftpUser
2、設定密碼
passwd ftpUser
3、設置訪問權限
chown ftpUser /opt/reconciliation/
更改ftp配置文件
修改配置文件/etc/vsftpd/vsftpd.conf並設定或刪掉注釋:
userlist_enable=NO
anonymous_enable=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
打開vi /etc/vsftpd/user_list並增加一行:
ftpUser
新建文件vi /etc/vsftpd/chroot_list並增加一行
ftpUser
4、配置用戶ftp權限及訪問路徑限制:
此時用usertest登陸系統ftp,是否可以訪問?如果無法訪問,說明我們的ftp做了限制。打開/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。如果 userlist_deny=NO:只允許userlist_file文件中的用戶可訪問ftp;如果 userlist_deny=YES:userlist_file文件中列舉的用戶不能通過ftp訪問系統。userlist_enable是該功能的開 關。我們的系統配置如下:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
所以需要把用戶加入到/etc/vsftpd/user_list文件中,每個用戶一行。
由於該主目錄是mpsp用戶建的,usertest是mpsp組的成員,所以usertest默認具有增刪查改權限;而usertest作為 mpsp組成員,對/home/mpsp下的所有路徑具有訪問權限(根據各目錄的權限設置,默認是這樣),登錄ftp后會發現,usertest用戶可以 訪問其他目錄,並且具有mpsp組的權限,這樣做是不允許的,我們需要將usertest用戶的訪問范圍控制在其主目錄下。方法如下:
1. cd /etc/vsftpd 進入ftp配置文件目錄
2. vi vsftpd.conf編輯此文件,找到#chroot_list_enable=YES,刪除前面的那個#號,表示開啟此限制功能
找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list
3. 編輯chroot_list文件,加入你要限制的用戶名,一行一個用戶。
如果更新了vsftpd.conf,一定要重啟ftp,命令如下:
[root@linux sir001 root]# /etc/init.d/vsftpd restart
關閉vsftpd:[ 確定]
為vsftpd 啟動vsftpd:[ 確定]
啟動FTP服務
service vsftpd start
還有兩個參數:stop、restart
三:權限設置
-rw-r--r--. 1 root root 1944 5月 18 17:21 initial-setup-ks.cfg
一共有10位數
其中: 最前面那個 - 代表的是類型,如果是目錄,最前面這個是d
中間那三個 rw- 代表的是所有者(user)
然后那三個 rw- 代表的是組群(group)
最后那三個 r-- 代表的是其他人(other)
然后我再解釋一下后面那9位數:
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執行(如果它是程序的話)
- 表示相應的權限還沒有被授予 現在該說說修改文件權限了:
在終端輸入:
chmod o+w xxx.xxx
表示給其他人授予寫xxx.xxx這個文件的權限
chmod go-rw xxx.xxx
表示刪除xxx.xxx中組群和其他人的讀和寫的權限 其中:
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執行(如果它是程序的話)
其中:rwx也可以用數字來代替
r ------------4
w ------------2
x ------------1
- ------------0 行動:
+ 表示添加權限
- 表示刪除權限
= 表示使之成為唯一的權限 當大家都明白了上面的東西之后,那么我們常見的以下的一些權限就很容易都明白了:
-rw------- (600) 只有所有者才有讀和寫的權限
-rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限
-rwx------ (700) 只有所有者才有讀,寫,執行的權限
-rwxr-xr-x (755) 只有所有者才有讀,寫,執行的權限,組群和其他人只有讀和執行的權限
-rwx--x--x (711) 只有所有者才有讀,寫,執行的權限,組群和其他人只有執行的權限
-rw-rw-rw- (666) 每個人都有讀寫的權限
-rwxrwxrwx (777) 每個人都有讀寫和執行的權限
舉例:
chmod 777 /home/user 注:僅把/home/user目錄的權限設置為rwxrwxrwx
如果想把單獨的文件給對應的賬號設置權限,要用對應的賬戶去登錄linux去設置這個賬號例如:我想把 /home/user這個文件給admin權限只讀權限
就要用admin賬號登錄 設置 chmod 500 /home/user(4是只讀,最好每次把1加上 也就是5)
特殊的時候:
setfacl -m u:admin:rwx /home/mengniu_xm/mengniu_r 用的這個命令 給單獨用戶 單獨文件設置權限(mengniu_r給admin賬號rwx權限)
setfacl -R -m u:admin:rwx /home/mengniu_xm/mengniu_wr(加個-R 實際過程中出現admin賬號不能刪除文件的情況 加上這個就可以了)
引用:
https://www.linuxidc.com/Linux/2017-11/148518.htm ---安裝ftp及添加用戶
https://blog.csdn.net/xufei512/article/details/52037497 ---添加用戶
https://blog.csdn.net/dczjzz/article/details/52041782 ---權限設置
https://blog.csdn.net/alvin_lam/article/details/51567979 ---setfacl 權限舉例
https://blog.csdn.net/qq_38350907/article/details/78852557---防火牆端口配置21