1. 程式人生 > >Sftp只允許使用者訪問指定的目錄

Sftp只允許使用者訪問指定的目錄

  在一些生產環境中,有時,使用者需要傳資料到伺服器,但是配置ftp服務比較麻煩,此時,我們可以為使用者建立sftp賬戶,讓使用者使用sftp來上傳下載所需的資料。Sftp賬號即為系統賬號,將賬戶密碼給使用者,使用者除了能登入sftp上傳下載資料外,還可以訪問系統中的其他目錄,由此,給我們的系統帶來了安全隱患,再次,我們需要配置使用者只能通過sftp登入系統下載上傳所需的資料。

1、建立sftp使用者(此處,我們以賬號dayi123為例進行配置)

 ~]# useradd dayi123
 ~]# echo dayi123 | passwd --stdin dayi123

2、設定sftp的賬戶許可權

設定sftp的賬號許可權需要通過修改ssh配置檔案進行,ssh配置檔案修改內容如下:

# Subsystem     sftp    /usr/libexec/openssh/sftp-server   #註釋掉此行並新增一下行

Subsystem sftp internal-sftp         

Match User dayi123                     #此處設定控制的使用者,也可以設定為組

         ChrootDirectory /home/dayi123  #允許使用者訪問的目錄,此處我們設定為使用者家目錄

         X11Forwarding no

         AllowTcpForwarding no

         ForceCommand internal-sftp

配置完成後需要重啟服務:

/etc/init.d/sshd restart

此處配置完我們用另一臺機器測試登入,會出現錯誤,使用win系統sftp客戶端同樣也不能正常登陸

[[email protected] ~]# sftp [email protected]

Connecting to 10.0.0.13...

[email protected]'s password:

Write failed: Broken pipe

Couldn't read packet: Connection reset by peer

這是由於沒有配置目錄的正確許可權,我們需要設定使用者訪問的目錄的許可權

3、設定允許使用者訪問目錄的許可權

   Sftp使用者訪問目錄需要設定所有者和所屬組的許可權均為root,並設定目錄的許可權為755,但此目錄下的檔案及目錄的許可權我們可根據自己的需求任意設定。

~]# chown root:root /home/dayi123/

 ~]# chmod 755 /home/dayi123/

 ~]# ll /home/

total 4

drwxr-xr-x 2 root root 4096 Sep  8 17:54 dayi123

~]# usermod dayi123 -s /sbin/nologin    #設定該sftp賬號不允許登入

~]# /etc/init.d/sshd reload

至此,我們的sftp配置已經完成,

4、測試sftp

使用linux測試:

~]# sftp [email protected]

Connecting to 10.0.0.13...

[email protected]'s password:

sftp> pwd

Remote working directory: /

sftp> cd ../

sftp> pwd

Remote working directory: /

使用windows客戶端winscp測試:

    登入後如下圖二所示,登入後的目錄定位到了指定的目錄”/home/dayi123”目錄,不能瀏覽系統的其他目錄,也不能切換目錄。

 

圖一 登入sftp客戶端

 

圖二 登入後圖

5、設定使用者上傳檔案許可權

          經過上面的設定後用戶可正常瀏覽下載目錄中的檔案,但是使用者無法上傳檔案。即使在/home/dayi123/下簡歷屬主為dayi123的目,使用者也無法上傳。此時需要在/home/dayi123/下建立屬主屬組為dayi123的目錄,並給/home/dayi123目錄設定acl許可權即可。

]# mkdir /home/dayi123/test

]# chown dayi123:dayi123 /home/dayi123/test

]# setfacl -m u:dayi123:rwx /home/dayi123

]# getfacl /home/dayi123/

getfacl: Removing leading '/' from absolute path names

# file: home/dayi123/

# owner: root

# group: root

user::rwx

user:dayi123:rwx

group::r-x

mask::rwx

other::r-x


相關推薦

Sftp允許使用者訪問指定目錄

  在一些生產環境中,有時,使用者需要傳資料到伺服器,但是配置ftp服務比較麻煩,此時,我們可以為使用者建立sftp賬戶,讓使用者使用sftp來上傳下載所需的資料。Sftp賬號即為系統賬號,將賬戶密碼給使用者,使用者除了能登入sftp上傳下載資料外,還可以訪問系統中的其他目

Linux sftp限制用戶訪問指定目錄

usr 無法創建 penssh creat man connect restart -s ati 一、創建新用戶: [root@controller ~]# useradd test[root@controller ~]# passwd testNew password:

linux SFTP用戶創建 不允許用戶登錄,並且連接允許在制定的目錄下進行操作

重啟 login mil shell man 權限 directory end roo 1.創建用戶 groupadd sftp 2.添加用戶並設置為sftp組 useradd -g sftp -s /sbin/nologin -M sftp (/sbin/nolo

phpStudy配置虛擬主機後,無法正常訪問指定目錄

phpstudy 無法 alt http 配置 ima 定義 images 虛擬 報錯如下: 查看你的hosts文件,是否定義過這個站點,或,是否有錯別字。 如果報錯是下面這個的話,很明顯,站點沒有正確的指定到具體的文件(文件夾)。 phpStudy配置虛擬主

Nginx 禁止IP訪問 允許域名訪問

nginx 禁止ip訪問 只允許域名訪問今天要在Nginx上設置禁止通過IP訪問服務器,只能通過域名訪問,這樣做是為了避免別人把未備案的域名解析到自己的服務器IP而導致服務器被斷網,從網絡上搜到以下解決方案我們在使用的時候會遇到很多的惡意IP攻擊,這個時候就要用到Nginx 禁止IP訪問了。下面我們就先看看N

nginx禁止IP允許域名訪問

ali list end default remote name 其他 .com listen upstream jenkins{ server 127.0.0.1:8080; } server {

linux xinetd模式下的ftp允許某使用者切換目錄允許某使用者登陸

一、只允許某使用者登陸開啟ftp服務:編輯/etc/xinetd.d/vsftpd,將服務開啟 disable = no,重啟xinetd服務編輯/etc/vsftpd.conf檔案,新增:userlist_deny=NO #userlist_deny只允許userlist中的使用者訪問ftpuserlist

學習如何設定ssh安全允許使用者從指定的IP登陸

因為在公司做專案時,員工的登入可能受到外界人的竊取,為了防止被攻擊,設定系統只能允許使用者從指定的IP登入。 登入服務:首先 cat /etc/passwd 檢視哪些使用者可以登入: [[email protected] webuser]# cat /etc/passwdroot:x:0:0:r

centos設定ssh安全允許使用者從指定的IP登陸

centos設定ssh安全只允許使用者從指定的IP登陸 2018年08月30日 18:26:28 何超傑 閱讀數:1450 1.編輯檔案 /etc/ssh/sshd_config vi /etc/ssh/sshd_config 1 2.root使用者只允許在

如何設定ssh安全允許使用者從指定的IP登陸

由於開發上傳檔案需要 在伺服器上開啟 允許使用者名稱和密碼ssh登入。這樣不太安全。百度後參考文章現在ssh使用者名稱和密碼登入的ip。 登入服務:首先 cat /etc/passwd 檢視哪些使用者可以登入: [[email protected]

vsftpd新增使用者並限制目錄指定使用者訪問指定目錄

遇到一個例子要求為特定的使用者指定一個轉用FTP上傳目錄;LINUX裝FTP我一般選的是vsftp,一般做的都是基於使用者的訪問,簡單修改幾個引數,建立一個chroot_list檔案 就可以了,一般目錄都是在/home下面,今天遇到的例子卻是指定在其他的目錄,在網上找了些

ftp設置用戶能夠訪問指定目錄

ftp設置用戶只能夠訪問指定的目錄如新建一個admin用戶,若指定admin只能訪問/home /uftp目錄下的administer目錄。則:(1) 首先要存在administer目錄,並且保證administer目錄不具備可寫的權限,否則將造成登錄失敗。可使用“chmod a-w + 目錄”進

iptables防火牆允許指定ip連線指定埠、訪問指定網站

                需要開80埠,指定IP和區域網 下面三行的意思: 先關閉所有的80埠 開啟ip段192.168.1.0/24端的80口 開啟ip段211.123.16.123/24端ip段的80口 # iptables -I INPUT -p tcp --dport 80 -j DROP #

iptables允許指定ip訪問本機的指定

檢視埠情況 1.netstat -ntpl 2.iptables -F 清除預設表filter中的所有規則鏈的規則 3.iptables -X 清除預設表filter中使用者自定鏈中的規則 4.ipt

配置redis外網可訪問,並允許指定的ip可訪問redis

開啟redis 允許外網IP 訪問 在 Linux 中安裝了redis 服務,當在客戶端通過遠端連線的方式連線時,報could not connect錯誤。 錯誤的原因很簡單,就是沒有連線上redis服務,由於redis採用的安全策略,預設會只准許本地訪問。 需要通過簡單配

【轉發】centos 7開啟FTP以及新增使用者配置許可權,允許訪問自身目錄,不能跳轉根目錄 linux下ftp配置檔案詳解

1.切換到root使用者 2.檢視是否安裝vsftp,我這個是已經安裝的。 [[email protected] vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.el7_2.x86_64 3.如果沒有發現,則安裝。 yum ins

apache安全設定——某個目錄允許訪問圖片,其他型別檔案不允許訪問

<VirtualHost *:80>     ServerAdmin [email protected]     DocumentRoot "F:/PHP/dztest"     ServerName www.dztest.com     Error

linux開啟FTP以及新增使用者配置許可權,允許訪問自身目錄,不能跳轉根目錄

1.切換到root使用者 2.檢視是否安裝vsftp,我這個是已經安裝的。 [[email protected] vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.el7_2.x86_64 3.如果沒有發現,則安裝。

nginx 設定某個目錄允許特定ip/ip段訪問

因為要求某個web專案只允許特定的ip訪問,所以需要設定ip。 前期按照單純的設定,導致開啟php變成直接下載,突然想起來是location的優先順序導致,php沒有被proxypass 到127.0.0.1:9000; 所以需要把解析php的那段提前。否則開啟就是php檔

linux開啟FTP以及添加用戶配置權限,允許訪問自身目錄,不能跳轉根目錄

x86 改變 2.3 連接不上 ssh 開機啟動 mct enable The linux開啟FTP以及添加用戶配置權限,只允許訪問自身目錄,不能跳轉根目錄1.切換到root用戶 2.查看是否安裝vsftp,我這個是已經安裝的。 [root@localhost vsftpd