Linux 配置SFTP啄栓,配置用戶訪問權(quán)限

之前我服務(wù)器是使用的Windows Server 2003铁追,這段時間由于訪問量變大我還是機(jī)智的換成Linux了咳燕,在搭建FTP的時候看到網(wǎng)上都是推薦vsftpd勿决,不過我不推薦這個家伙,看官且看下文招盲。

我推薦使用SSH自帶的SFTP低缩,SFTPSecure File Transfer Protocol的縮寫,安全文件傳送協(xié)議曹货。SFTP使用加密傳輸認(rèn)證信息和傳輸?shù)臄?shù)據(jù)咆繁,所以使用SFTP是非常安全的。SFTP之于FTP可以理解為Https之于Http控乾,由于這種傳輸方式使用了加密/解密技術(shù)么介,所以傳輸效率比普通的FTP要低得多,如果您對網(wǎng)絡(luò)安全性要求更高時蜕衡,可以使用SFTP代替FTP壤短。

**本文最終的效果:**在Linux下建立sftp-users用戶組设拟,在該組下建多個用戶,禁止該組所有用戶ssh遠(yuǎn)程登錄服務(wù)器久脯,但是允許該組所有用戶登錄sftp纳胧,并只能訪問自己的目錄及子目錄中的文件。

本文以admin用戶為例帘撰,下面出現(xiàn)的admin均指該用戶或者該用戶目錄跑慕。


安裝ssh和openssh-sftp-server

其實(shí)Linux發(fā)行版基本都是安裝了OpenSSH的,不過我們這里還是確認(rèn)一下是否安裝摧找,
一般我們需要安裝openssh-server核行、openssh-sftp-server,所以我們檢查是否安裝了SSH蹬耘。

  • Ubuntu檢查是否安裝了OpenSSH
dpkg --get-selections | grep openssh

  • CentOS檢查是否安裝了OpenSSH
# 以yum方式安裝的:
yum list installed openssh

# 以rpm包安裝的:
rpm -qa | grep openssh

# 以deb包安裝的:
dpkg -l | grep openssh


如果已經(jīng)三個包都安裝了芝雪,那么你的命令行該是如下:

openssh-server              installed
openssh-sftp-server         installed
...

哪個沒有打印就是沒有安裝,安裝即可综苔。

  • Ubuntu 安裝惩系,依次執(zhí)行以下命令,install后面只寫沒有安裝的包名即可
sudo apt-get update
sudo apt-get install openssh-client openssh-server openssh-sftp-server

  • CentOS 安裝如筛,install后面只寫沒有安裝的包名即可
sudo yum install openssh-client openssh-server openssh-sftp-server

如果都是安裝的堡牡,我們需要保證OpenSSH的版本不得低于4.8,因?yàn)槲覀円?code>ChrootDirectory配置用戶訪問目錄杨刨,所以檢查下SSH的版本晤柄,執(zhí)行命令ssh -V會打印出如下版本信息:

OpenSSH_6.6.1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f...

如果SSH的版本低于4.8,需要升級拭嫁。

  • Ubuntu升級SSH
sudo apt-get update
sudo apt-get install openssh-server

  • CentOS升級SSH
sudo yum update -y openssh-server

建立用戶組和用戶

我們要建立一個專門管理sftp用戶的用戶組可免,方便我們管理權(quán)限。
1做粤、建立一個名為sftp-userssftp用戶組

sudo groupadd sftp-users

2浇借、在該組建立幾個需要登錄sftp的用戶

新建用戶名為admin的用戶:

sudo useradd -g sftp-users -m admin

修改admin的密碼:

passwd admin

然后連續(xù)兩次輸入你要給該用戶設(shè)置的密碼即可。

3怕品、如果該用戶已存在妇垢,但是不在sftp-users組中,可以移動用戶到改組

usermod –g sftp_users admin

配置ssh和權(quán)限

1肉康、打開/etc/ssh/sshd_config文件

2闯估、修改X11Forwarding的值為no,原來可能是:X11Forwarding yes吼和,現(xiàn)在修改為X11Forwarding no涨薪,如果X11Forwarding不存在,就在文件最后添加上面的代碼炫乓。
修改AllowTcpForwarding的值為no刚夺,原來可能是AllowTcpForwarding yes献丑,現(xiàn)在修改為AllowTcpForwarding no,如果AllowTcpForwarding不存在侠姑,就在文件最后添加上面的代碼创橄。

3、修改Subsystem sftpinternal-sftp

Subsystem sftp /usr/libexec/openssh/sftp-server
# 或者
Subsystem sftp /usr/lib/openssh/sftp-server

現(xiàn)在修改為:

Subsystem sftp internal-sftp

4莽红、在文件末尾增加內(nèi)容

Match Group sftp-users
    ChrootDirectory %h
    ForceCommand internal-sftp

  • Match Group sftp-users這一行是指定以下的子行配置是匹配sftp-users用戶組的妥畏,多個用戶組用英文逗號分隔。
  • ChrootDirectory %h該行指定Match Group行指定的用戶組驗(yàn)證后用于chroot環(huán)境的路徑安吁,也就是默認(rèn)的用戶目錄醉蚁,比如/home/admin;也可以寫明確路徑鬼店,例如/data/www馍管。
  • ForceCommand internal-sftp該行強(qiáng)制執(zhí)行內(nèi)部sftp,并忽略任何~/.ssh/rc文件中的命令薪韩。

這里要特別注意,因?yàn)?code>ChrootDirectory %h模式捌锭,所以我們等下要設(shè)置sftp-users中的所有用戶的用戶目錄權(quán)限為root擁有俘陷,否則sftp-users組中的用戶無法用sftp登錄。

修改sftp-users用戶組用戶目錄權(quán)限

上面說了观谦,因?yàn)槭褂昧?code>ChrootDirectory %h拉盾,現(xiàn)在來修改權(quán)限。

1豁状、修改權(quán)限為root用戶擁有

chown root /home/admin

2捉偏、修改權(quán)限為root可讀寫執(zhí)行,其它用戶可讀

chmod 755 /home/admin

3泻红、重啟ssh夭禽,登錄sftp

sudo service ssh restart

現(xiàn)在就可以使用sftp登錄了,但是我們發(fā)現(xiàn)谊路,我們不能上傳文件讹躯,那是因?yàn)榈卿浐竽J(rèn)是用戶目錄,比如/home/admin缠劝,但是該目錄是root用戶擁有潮梯,因此我們還要修改權(quán)限。

注意:centos7重啟ssh的命令是sudo systemctl restart sshd.service惨恭,另外可以設(shè)置ssh為開機(jī)啟動秉馏,命令是sudo systemctl enable sshd.service

4脱羡、在用戶目錄下建立子目錄萝究,讓sftp-users中的用戶可讀寫文件
我們現(xiàn)在在/home/admin目錄下新建一個upload文件夾:

cd /home/admin/
mkdir upload

5免都、授權(quán)upload文件夾讀寫
讓子文件夾upload屬于admin

chown admin /home/admin/upload

讓子文件夾upload被admin讀寫

chmod 755 /home/admin/upload

重啟ssh,登錄sftp

現(xiàn)在全部都配置完了糊肤,如果在上面第三步?jīng)]有重啟ssh的話琴昆,現(xiàn)在重啟后既可以登錄使用了。

sudo service ssh restart

centos7.x的系統(tǒng)如果執(zhí)行上面這個命令提示不存在馆揉,執(zhí)行:

sudo systemctl restart sshd

Windows登錄sftp推薦使用WinScp业舍,Linux用命令即可,Mac推薦使用Yummy FTP升酣。


本文轉(zhuǎn)自 https://blog.csdn.net/yanzhenjie1003/article/details/70184221?spm=1001.2014.3001.5501舷暮,如有侵權(quán),請聯(lián)系刪除噩茄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末下面,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绩聘,更是在濱河造成了極大的恐慌沥割,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凿菩,死亡現(xiàn)場離奇詭異机杜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)衅谷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門椒拗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人获黔,你說我怎么就攤上這事蚀苛。” “怎么了玷氏?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵堵未,是天一觀的道長。 經(jīng)常有香客問我盏触,道長兴溜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任耻陕,我火速辦了婚禮拙徽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诗宣。我一直安慰自己膘怕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布召庞。 她就那樣靜靜地躺著岛心,像睡著了一般来破。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忘古,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天徘禁,我揣著相機(jī)與錄音,去河邊找鬼髓堪。 笑死送朱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的干旁。 我是一名探鬼主播驶沼,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼争群!你這毒婦竟也來了回怜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤换薄,失蹤者是張志新(化名)和其女友劉穎玉雾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轻要,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抹凳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伦腐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡失都,死狀恐怖柏蘑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粹庞,我是刑警寧澤咳焚,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站庞溜,受9級特大地震影響革半,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜流码,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一又官、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漫试,春花似錦六敬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽普泡。三九已至,卻和暖如春审编,著一層夾襖步出監(jiān)牢的瞬間撼班,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工垒酬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留砰嘁,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓伤溉,卻偏偏與公主長得像般码,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乱顾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容