上一節中咱們已經學會了如何在Ubuntu中搭建FTP環境,本節將介紹如何爲同一個目錄分配權限:1.超級管理員(擁有上傳,下載,修改,查看的權限);2.普通管理員(只擁有下載與查看的權限)
# sudo groupadd -g 168 ftpmanager
html
################# ###### UID ###### ################# >> 0:超級用戶(管理員) ################# # 普通用戶 1~65535 >> 1~499:系統用戶(僞用戶)(不能刪) >> 500+:普通用戶 ################# ###### GID ###### ################# >> 0:系統組(管理員) ################# # 普通組 1~65535 >> 1~499:系統組 >> 500+:普通組 1.添加用戶組 groupadd [選項] 組名 選項: -g GID:指定組ID 2.修改用戶組 groupmod [選項] 組名 選項: -g GID: 修改組ID -n 新組名:修改組名 例:groupmod -n testgrp group1 # 把組名group1修改成testgrp 3.刪除用戶組 groupdel 組名 注:不能存在初始用戶在該組,不然沒法刪除 4.把用戶添加入組或從組中刪除 gpasswd [選項] 組名 選項: -a 用戶名:把用戶加入組 -d 用戶名:把用戶從組中刪除 例:gpasswd [選項] 用戶名 組名 5.查看組 groups 用戶名
超級管理員linux
建立ftp文件夾web
# mkdir /home/ftptest
建立超級管理員ftpadmin
來管理ftptest目錄shell
# sudo useradd -d /home/ftptest -s /bin/bash ftpadmin
設置ftpadmin
的密碼安全
# sudo passwd ftpadmin
普通管理員bash
建立普通管理員ftpuser01
來管理ftptest目錄服務器
# sudo useradd -d /home/ftptest -s /bin/bash ftpuser01
設置ftpuser01
的密碼網絡
# sudo passwd ftpadminn
1.添加用戶 useradd [選項] 用戶名 選項: -u UID: 手工指定用戶的UID號 -d 家目錄: 手工指定用戶的家目錄 -c 用戶說明:手工指定用戶的說明 -g 組名: 手工指定用戶的初始組(至關於強制改掉) -G 組名: 指定用戶的初始組(至關於加入) -s shell: 手工指定用戶的shell。默認是/bin/bash 2.刪除用戶 userdel [-r] 用戶名 選項: -r 刪除用戶的同時刪除用戶家目錄 手工刪除用戶: >>># vi /etc/passwd >>># vi /etc/shadow >>># vi /etc/group >>># vi /etc/gshadow >>># rm -rf /var/spool/mail/[用戶名] >>># rm -rf /home/[用戶名] 若是刪除後可經過 useradd [用戶名] 若能成功添加,則該用戶名以前已刪乾淨了,不然未刪乾淨 3.查看用戶ID id [用戶名]
ftpadmin
分配ftpmanager組# sudo usermod -G ftpmanager ftpadmin
ftpuser01
分配ftpmanager組# sudo usermod -G ftpmanager ftpuser01
# groups ftpadmin
或者 # groups ftpuser01
# sudo chown ftpadmin -R /home/ftptest
sudo chmod -R 755 /home/ftptest
ide
``` 關於權限755的解釋: 在linux終端先輸入ll,能夠看到如: -rwx-r--r-- (一共10個參數) 表示文件所屬組和用戶的對應權限。 第一個跟參數屬於管理員,跟chmod無關,先無論. 2-4參數:屬於user 5-7參數:屬於group 8-10參數:屬於others r==>可讀 w==>可寫 x==>可執行 r=4 w=2 x=1 因此755表明 rwx r-x r-x ==>rwxr-xr-x 管理員ftpadmin擁有讀寫執行權限,組用戶和其餘用戶擁有讀寫權限(便可如下載查看,並不能新建和修改) 若是是777 則表明 rwxr-rwx-rwx 全部用戶均可讀可寫可執行。 ```
鏈接測試,發現居然 失敗了!!!!!!!!!!!!!!!!
~~~尼瑪~~~什麼鬼工具
用ftp工具鏈接的或許會報相似這樣的錯誤:500 OOPS: vsftpd: refusing to run with writable root inside chroot(). Please contact your web hosting service provider for assistance.
在網上查了一下,發現原來:從2.3.5以後,vsftpd加強了安全檢查,若是用戶被限定在了其主目錄下,則該用戶的主目錄不能再具備寫權限了!若是檢查發現還有寫權限,就會報該錯誤。
修改方法有三個,以下:
chmod 555 /home/ftptest
allow_writeable_chroot=YES
# sudo usermod -d /home/ftptest ftpadmin
# sudo usermod -d /home/ftptest ftpuser01
提示:
方法1,則須要子啊ftptest中新目錄下超級管理員纔能有寫的權限;
方法2,可能影響其餘ftp目錄的管理,還存在安全性問題;
方法3,對我來講除了多了幾條命令,其餘的都仍是比較滿意,正式使用時我都是採用此法。
通過調整後,鏈接成功了!
用ftpadmin新建了一個文件222和一個文件夾333都成功了,修改222的內容也成功了
再來試試普通管理員ftpuser01
新建文件和文件夾都失敗了
下載成功了
可是上傳卻失敗了
經過測試,咱們發現只有ftpadmin擁有隨意上傳,下載,新建,修改的權限,ftpuser01只能下載和查看,證實了咱們的權限分配沒有錯。
用ftp工具鏈接的或許會報相似這樣的錯誤:530 Login incorrect. Please contact your web hosting service provider for assistance.
查了一下資料,並經過測試發現問題主要出如今:購買的阿里雲ECS未開放外網訪問端口。
解決辦法:開放端口。
參考自:http://www.winbiz.cn/zh_cn/Ne...
登陸阿里雲ECS服務器控制面板,【網絡和安全】->【安全組】,在右邊選擇【配置規則】->【添加安全組規則】,協議選所有,受權對象填0.0.0.0/0
最後肯定,保存便可。
好啦,ftp搭建告一段落,若是有什麼問題能夠聯繫我,若是文章有什麼錯誤還請指出。