東坡下載:內(nèi)容最豐富最安全的下載站!

首頁IT技術(shù)操作系統(tǒng) → Linux設(shè)置用戶通過SFTP訪問目錄的權(quán)限教程

Linux設(shè)置用戶通過SFTP訪問目錄的權(quán)限教程

相關(guān)文章發(fā)表評論 來源:本站整理時(shí)間:2016/3/21 15:15:45字體大。A-A+

更多

作者:專題點(diǎn)擊:71次評論:0次標(biāo)簽: linux目錄訪問權(quán)限

東坡小編這里給大家分享的是Linux設(shè)置用戶通過SFTP訪問目錄的權(quán)限教程,對linux sftp 用戶權(quán)限設(shè)置可以參考下。

sftp和ftp是兩種協(xié)議是不同的,sftp是ssh內(nèi)含的協(xié)議,只要sshd服務(wù)器啟動了,它就可用,它本身不需要ftp服務(wù)器啟動。

1.查看openssh軟件版本,想sftp服務(wù)用戶只能訪問特定的文件目錄,版本需要4.8以上

代碼如下:

[root@localhost ftp]# rpm -qa | grep openssh

openssh-server-5.3p1-81.el6_3.x86_64

openssh-5.3p1-81.el6_3.x86_64

openssh-clients-5.3p1-81.el6_3.x86_64

2.新增用戶,限制用戶只能通過sftp訪問

代碼如下:

[root@localhost ftp]# useradd -m -d /opt/ftp/dave -s /sbin/nologin dave

3.限制用戶通過sftp登錄進(jìn)來時(shí)只能進(jìn)入主目錄,修改/etc/ssh/sshd_config文件

代碼如下:

[root@localhost ftp]# vim /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp

Match User dave

ChrootDirectory /opt/ftp/dave

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

重啟ssh

4.測試訪問

代碼如下:

root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175

Connecting to 10.1.6.175...

dave@10.1.6.175's password:

Read from remote host 10.1.6.175: Connection reset by peer

Couldn't read packet: Connection reset by peer

發(fā)現(xiàn)連接不上,查看日志

代碼如下:

[root@localhost ftp]# tail /var/log/messages

Jan 6 11:41:41 localhost sshd[4907]: fatal: bad ownership or modes for chroot directory "/opt/ftp/dave"

Jan 6 11:41:41 localhost sshd[4905]: pam_unix(sshd:session): session closed for user dave

解決方法:

目錄權(quán)限設(shè)置上要遵循2點(diǎn):

ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限,屬主和屬組必須是root;

ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限,只有屬主能擁有寫權(quán)限,權(quán)限最大設(shè)置只能是755。

如果不能遵循以上2點(diǎn),即使是該目錄僅屬于某個(gè)用戶,也可能會影響到所有的SFTP用戶。

代碼如下:

[root@localhost ftp]# ll

total 4

drwxr-xr-x 3 dave dave 4096 Jan 5 13:06 dave

[root@localhost ftp]# chown root:root dave

[root@localhost ftp]# chmod 755 dave

[root@localhost ftp]# ll

total 4

drwxr-xr-x 3 root root 4096 Jan 5 13:06 dave

然后在測試通過

代碼如下:

root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175

Connecting to 10.1.6.175...

dave@10.1.6.175's password:

sftp> ls

test

sftp> cd ..

sftp> ls

test

sftp> cd test

sftp> ls

1.txt

sftp> get 1.txt

Fetching /test/1.txt to 1.txt

/test/1.txt

可以看到已經(jīng)限制用戶在家目錄,同時(shí)該用戶也不能登錄該機(jī)器。

擴(kuò)展知識

相關(guān)評論

閱讀本文后您有什么感想? 已有 人給出評價(jià)!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)