詳解ftp創(chuàng)建文件權(quán)限問題
詳解ftp創(chuàng)建文件權(quán)限問題
一、問題
有一個(gè)這樣的需求,admin為一個(gè)Linux為其FTP應(yīng)用創(chuàng)建的一個(gè)有權(quán)限限制的用戶,通過admin用戶可以進(jìn)行登錄FTP服務(wù),登錄FTP服務(wù)后,創(chuàng)建文件夾,該文件夾的用戶和用戶組都是admin,屬性為755,即只有admin用戶才有寫的權(quán)限,但是,F(xiàn)TP后臺(tái)是通過b用戶登錄linux系統(tǒng)執(zhí)行程序上傳文件到FTP服務(wù)器,由于FTP服務(wù)器的文件夾都是由admin用戶創(chuàng)建的,且屬性為755,b用戶根本沒有寫的權(quán)限,導(dǎo)致程序上傳文件失敗。
二、分析
那么解決問題的方法應(yīng)該很容易,既然admin用戶創(chuàng)建的目錄默認(rèn)屬性為755,那么只要將默認(rèn)屬性改為775,并將b用戶添加到admin所屬用戶組里面去,問題就解決了。
三、解決
1、因?yàn)橄到y(tǒng)默認(rèn)的登錄用戶是b,為了方便測(cè)試,需要登錄到admin用戶,然后創(chuàng)建文件夾看看默認(rèn)屬性是否改變。通過b用戶su到admin用戶的時(shí)候報(bào)出了 This account is currently not available. 錯(cuò)誤。才想到,當(dāng)時(shí)創(chuàng)建admin用戶的時(shí)候是用戶的shell是禁止登錄的,這里為了方便測(cè)試,通過如下命令開啟shell登錄:
$ sudo usermod -s /bin/bash admin
2、然后修改系統(tǒng)環(huán)境變量/etc/profile文件,設(shè)置umask為002 (目錄默認(rèn)屬性 777-002=775,文件默認(rèn)屬性 666-002= 664),source 文件生效后,切換到admin用戶創(chuàng)建文件夾試試:發(fā)現(xiàn)目錄的默認(rèn)屬性成功改了,變?yōu)?55了
drwxrwxr-x 2 admin admin 4.0K Dec 6 22:54 a
3、然后用admin登錄FTP,新建一個(gè)文件夾看看,發(fā)現(xiàn)其權(quán)限還是755
4、由于對(duì)FTP并不熟悉,開始并沒有想到FTP那里去,而是在搗鼓各種Linux用戶組和用戶權(quán)限的設(shè)置,嘗試都沒有用。最后靜下來慢慢思考,突然想到,用admin賬戶登錄FTP創(chuàng)建的文件屬性一直是755,這里登錄的只是FTP應(yīng)用,沒有登錄到shell,所以才會(huì)不受Linux環(huán)境變量中umask的影響,而修改umask后的admin登錄shell后創(chuàng)建的文件屬性是775,這里登錄到了shell,是根據(jù)umask的值沒有問題。既然發(fā)現(xiàn)了問題,那么想到FTP應(yīng)該也會(huì)有類似Linux umask的設(shè)置才對(duì),于是找到了FTP的配置文件,果然發(fā)現(xiàn)了如下的參數(shù):
5、修改FTP的Umask的值為002,重啟FTP服務(wù),發(fā)現(xiàn)問題解決了。
注:這次問題雖小,也比較快解決了,告誡自己!在搗鼓一些應(yīng)用服務(wù)的前,要先充分了解和熟悉這些應(yīng)用服務(wù)的資料配置等,切莫貪快,否則,出現(xiàn)了問題,自己都不知道從何排查。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章:
1. windows10 家庭版下FTP服務(wù)器搭建教程2. Windows下ftp服務(wù)器實(shí)現(xiàn)匿名訪問的配置方法3. Win10系統(tǒng)搭建ftp文件服務(wù)器詳細(xì)教程4. win2019 ftp服務(wù)器搭建圖文教程5. win10下FTP服務(wù)器搭建圖文教程6. Windows Server 2019 WEB和FTP服務(wù)器的配置方法7. centos7下如何安裝ftp服務(wù)8. FTP服務(wù)器詳解之監(jiān)控ftp服務(wù)器、上傳文件到ftp服務(wù)器、ftp文件監(jiān)控的方法9. Windows Server 2008 R2 IIS7.5配置FTP圖文教程10. 阿里云windows server2019配置FTP服務(wù)的完整步驟
