一般情況下躲撰,從安全考慮精偿,root是禁止ssh登錄弧圆,普通用戶通過(guò)sudo操作,一般都沒(méi)問(wèn)題笔咽,但是要通過(guò)ftp傳輸文件就麻煩了搔预,文件是屬于root用戶的,普通用戶即使等登錄也不能更改文件叶组,也要加上sudo命令才能更改文件斯撮,通過(guò)winscp軟件可以實(shí)現(xiàn)實(shí)現(xiàn)這個(gè)功能,詳細(xì)配置查看這個(gè)帖子:
http://blog.csdn.net/xuejinliang/article/details/52301349
配置圖1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高級(jí)-SFTP? ? sudo /usr/libexec/openssh/sftp-server
配置圖2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高級(jí)-Shell? ?sudo -i
附加背景知識(shí):
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP
在主流linux系統(tǒng)版本當(dāng)中扶叉,默認(rèn)都有安裝openssl和openssh包,都有ssh命令,也就是說(shuō)默認(rèn)安裝好了SFTP服務(wù)器和sftp命令帕膜,不需要額外配置vsftp枣氧。
sftp有兩種實(shí)現(xiàn)
1.sftp-server默認(rèn)實(shí)現(xiàn)
2.internal-sftp可更改用戶對(duì)應(yīng)的目錄
本來(lái)考慮不用sudo,而是通過(guò)internal-sftp來(lái)實(shí)現(xiàn)垮刹,把普通用戶加入到root用戶組达吞,把文件的root用戶組權(quán)限加上寫(xiě)的權(quán)限來(lái)實(shí)現(xiàn)的,后來(lái)發(fā)現(xiàn)沒(méi)用荒典,
因?yàn)槟夸洐?quán)限設(shè)置要遵循2點(diǎn):
ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級(jí)文件夾權(quán)限酪劫,屬主和屬組必須是root吞鸭;
ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級(jí)文件夾權(quán)限,只有屬主能擁有寫(xiě)權(quán)限覆糟,權(quán)限最大設(shè)置只能是755刻剥。
如果不能遵循以上2點(diǎn),即使是該目錄僅屬于某個(gè)用戶滩字,也可能會(huì)影響到所有的SFTP用戶造虏。