1. 程式人生 > >Linux SSH Sftp 限制使用者訪問許可權

Linux SSH Sftp 限制使用者訪問許可權

通過設定使用者登入後只能訪問指定目錄來限制許可權

具體步驟如下:

1、新建使用者:

sudo useradd -m -d /home/ftpuser -s /usr/sbin/nologin ftpuser
nologin要事先確認位置,通常在/usr/sbin或/sbin下(可在/etc/passwd中檢視sshd的nologin配置)

設定使用者密碼:

sudo passwd ftpuser
2、新建使用者組,專門用於sftp
sudo groupadd sftpusers
sudo usermod -G sftpusers ftpuser
3、修改/etc/ssh/sshd_config檔案

需要註釋掉Subsystem,UsePAM ,並新增以上程式碼:

#Subsystem sftp /usr/lib/openssh/sftp-server  
#UsePAM yes  
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h

ChrootDirectory 則為允許訪問的sftp目錄(sftp登入後的預設目錄)

%h 是使用者主目錄,也可以寫指定路徑;如果只想控制單一使用者,可以用以下代替:

#Subsystem sftp /usr/lib/openssh/sftp-server  
#UsePAM yes  
Subsystem sftp internal-sftp
Match User ftpuser
ChrootDirectory &h
#ChrootDirectory /home/ftpuser
儲存,並重啟ssh
sudo /etc/init.d/ssh restart
4、修改目錄許可權

必須滿足以下條件:

ChrootDirectory設定的目錄許可權及上級,屬主和屬組必須是root

ChrootDirectory設定的目錄許可權及上級,只有屬主能擁有寫許可權,最大隻能是755

sudo chown root:root /home/ftpuser
sudo chmod 755 /home/ftpuser
之後可以在/home/ftpuser下建立擁有全部許可權的資料夾,進行sftp操作
sudo mkdir /home/ftpuser/upload
sudo chmod 777 /home/ftpuser/upload
5、測試

使用ssh登入,測試nologin是否起作用

su ftpuser
輸入密碼後提示:This account is currently not available.
登入sftp,檢視是否只能訪問指定目錄
sftp [email protected]

示例一則:

環境Ubuntu Server 13.04 OpenSSH_6.1p1

建立使用者,-M不建立使用者主目錄,並指定shell為nologin,使其不能登入ssh

sudo useradd -M -s /usr/sbin/nologin maiyo
sudo passwd maiyo
配置sshd_config
sudo vim /etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
#UsePAM yes
Subsystem sftp internal-sftp
Match User maiyo
ChrootDirectory /usr/tomcat
sudo /etc/init.d/ssh restart
修改Chroot目錄許可權,使其滿足屬主、屬組為root,同時最大許可權755
sudo chmod 755 /usr/tomcat
效果如下圖:


修改使用者sftp可操作的目錄許可權

sudo chmod -R 777 apache-tomcat-7.0.47
最後測試通過完成

相關推薦

Linux SSH Sftp 限制使用者訪問許可權

通過設定使用者登入後只能訪問指定目錄來限制許可權 具體步驟如下: 1、新建使用者: sudo useradd -m -d /home/ftpuser -s /usr/sbin/nologin ftpusernologin要事先確認位置,通常在/usr/sbin或/sbin下(可在/etc/passwd中檢視

suse linux ssh遠程無法訪問問題

命令 還需 執行 配置 不起作用 rec fire 命令行 linux 當正常安裝完Suse Linux Enterprise Server 11 sp1 時,無法通過SecureCRT或者PuTTY之類的終端程序進行連接。 折騰了一下,發現問題所在: 1、 需要

linux安裝mydql並設定訪問許可權

1、安裝mysql  yum install mysql-server -y(注意是mysql-server,如果只裝mysql,只是將mysql的客戶端裝上了,並沒有裝mysql的服務,裝mysql-server可以看到依賴了mysql) 2、啟動mysql服務 service my

mysql在Linux環境下開啟遠端訪問許可權和開放3306埠

一:開啟mysql遠端訪問許可權。        預設mysql的使用者是沒有遠端訪問的許可權的,那麼當程式跟資料庫不在同一臺伺服器上時,我們需要開啟mysql的遠端訪問許可權。一般有改表和授權兩種方

PHP之Linux(四) 使用者組與訪問許可權

使用者使用者組 概述 Linux系統是一個多使用者多工的分時作業系統,任何一個要使用系統資源的使用者,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。 使用者的賬號一方面可以幫助系統管理員對使用系統的使用者進行跟蹤

linux下mysql開啟遠端訪問許可權 防火牆開放3306埠

預設mysql的使用者是沒有遠端訪問的許可權的,因此當程式跟資料庫不在同一臺伺服器上時,我們需要開啟mysql的遠端訪問許可權。 (1)登陸mysql mysql-u root -p  (2)修改mysql庫的user表 將host項從localhost改為%。%這裡表

linuxssh/sftp配置和許可權設定

基於 ssh 的 sftp 服務相比 ftp 有更好的安全性(非明文帳號密碼傳輸)和方便的許可權管理(限制使用者的活動目錄)。 1、開通 sftp 帳號,使使用者只能 sftp 操作檔案, 而不能 ssh 到伺服器 2、限定使用者的活動目錄,使使用者只能在指定的目錄下活動,使用 sftp 的 Chroot

Linux 限制SFTP使用者目錄和許可權

很多的系統在和外部其他系統交換檔案時,喜歡使用SFTP協議。對於SFTP的伺服器來說,我們不想給予SFTP使用者太多的許可權,更不想讓其隨意瀏覽伺服器上的其他檔案和執行shell命令,下面介紹如何通過配置SSH來限制SFTP使用者的目錄和許可權。 首先我們需要新建一個使用者

Linux開發之——訪問許可權限制下安裝VMwareTools

前言 平時使用的電腦一般是Windows的,但是開發中避免不了使用Linux系統;常用的做法是在虛擬機器上安裝Ubuntu系統,為了擴充套件Ubuntu的效能,我們會選擇安裝VMwareTools,之後便可以全屏顯示、虛擬機器與本地電腦之間拖動複製檔案等操作。 本文之前講

Linux ssh ftp 使用者訪問許可權

shell列表可檢視(/etc/shells) 1、不允許使用者 ssh 登陸,允許 ftp 登陸 usermod -s /sbin/nologin username 2、允許使用者 ssh

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

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

Linux防火墻限制指定port僅僅能由指定IP訪問

端口 state article name dsm ack 防火墻 dport 公司 須要對redis的端口做限制,僅僅能讓公司內指定IP的機器訪問 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACC

Linux SSHSFTP服務分離

HA title clas linux log logs .com class ID Linux SSH和SFTP服務分離 學習了:https://www.cnblogs.com/zihanxing/articles/5665383.html 都是監聽22端口; Li

linux——ssh遠程訪問,密鑰的生成以及公鑰的使用,上傳與下載

ssp cal cati copy 手動 proc domain finger dsa 1.說明密鑰認證的過程連接ssh服務——ssh-keygen生成密鑰(公鑰,私鑰)——ssh-copy-id 將公鑰傳輸至遠程服務器——訪問遠程服務端——scp跨主機上傳以及復制下載 我

Linux下設置SFTP用戶訪問目錄權限

訪問 目錄 login fff 登錄 dir -m directory use 一、創建新用戶,並且設置目錄,禁止shell登錄 useradd -m -d /home/wwwroot/licnlt -s /usr/sbin/nologin licnlt nologin

Linux 關於安裝rabbitmq以及開啟遠端訪問許可權步驟

時光飛逝,距離上次寫部落格居然已經兩個月之久,近期因為專案進度緊,而一直沒有抽出時間來進行總結,本人會在近期將專案中所涉及到的技術以及一些操作進行總結並更新到部落格中,今天我們就來聊聊linux下安裝rabbitmq的安裝步驟。 本篇部落格主要以安裝步驟為主,所以並不會涉及到太

新增.htaccess檔案限制目錄的訪問許可權來增強目錄的安全性

新增.htaccess檔案限制目錄的訪問許可權來增強目錄的安全性 增強網站目錄的安全性對於系統的安全非常有必要,如果一些目錄不想對外開放,可以在該目錄下面新增一些控制檔案來限制目錄的訪問許可權。比如,圖片目錄下不 能執行php指令碼。如何做到這些控制呢?其實zencart已經做好了這一點,基

重識linux-SSH中的SFTP

重識linux-SSH中的SFTP 1 SFTP也是使用SSH的通道(port 22) 2 SFTP是linux系統自帶的功能 3 連線上主流的ftp軟體都支援sftp協議 比如flashfxp,filezilla都支援   主要因為: 一、可以不用額外安裝任何伺服器端程式(我比較中意

Linux ACL訪問許可權控制詳解

在普通許可權中,Linux使用者對檔案只有三種身份,就是屬主、屬組和其他人;每種使用者身份擁有讀(read)、寫(write)和執行(execute)三種許可權。但是在實際工作中,這三種身份實在是不夠用,我們舉個例子來看看。 圖 1 ACL許可權簡介 圖 1 的根目錄中有一個 /projec

linux 檔案訪問許可權chmod

常用下面這條命令: chmod 777  檔案或目錄 示例:chmod  777 /etc/squid 執行命令後,squid資料夾(目錄)的許可權就被修改為777(可讀可寫可執行)。 如果是Ubuntu系統,可能需要加上sudo來執行: sudo chmod