日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中sftp加权限,Linux 搭建Sftp服务并进行权限设置

發布時間:2025/3/20 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中sftp加权限,Linux 搭建Sftp服务并进行权限设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、最近接到一個項目組的需求搭建文件服務器,需求如下

1、用戶:amovs、upload、download

2、組:amovs、dataload、download

3、具體需求是upload和download的家目錄都為同一個目錄dataload

4、upload能上傳也就是能讀能寫、download用戶只能下載

5、amovs因需要進行批量自動化刪除日志等操作,所以對于dataload目錄權限需要讀、寫權限

6、并且upload和download只能使用sftp軟件上傳和下載文件使用,不能作為登錄用戶

詳細規劃了一下用戶和組的關系如下:

amovs屬于dataload組,家目錄為/amovs

upload為屬于dataload組 /data/dataload

download屬于download組 /data/dataload

二、搭建環境如下:

Red Hat Enterprise Linux Server release 6.7 (Santiago)

具體搭建步驟:

1、查看ssh相關版本

[[email?protected] /]# rpm -qa | grep ssh

openssh-clients-5.3p1-111.el6.x86_64

openssh-server-5.3p1-111.el6.x86_64

ksshaskpass-0.5.1-4.1.el6.x86_64

libssh2-1.4.2-1.el6_6.1.x86_64

openssh-5.3p1-111.el6.x86_64

2、創建相關組和用戶

[[email?protected] /]# groupadd ?-g 601 amovs

[[email?protected] /]# groupadd ?-g 602 dataload

[[email?protected] /]# groupadd ?-g 603 download

[[email?protected] /]# useradd ?-u 601 ?-g amovs ?-G dataload ?-d /amovs ?amovs

[[email?protected] /]# useradd ?-u 602 ?-s /bin/false ?-g dataload ?-d ?/data/dataload upload

[[email?protected] /]# useradd ?-u 603 ?-s /bin/false ?-g download ?-d ?/data/dataload download

3、編輯/etc/ssh/sshd_config 更為為如下:

#注釋掉這行

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

添加如下配置

Subsystem sftp internal-sftp ?#指定使用sftp服務使用系統自帶的internal-sftp

#Match Group ?dataload ? ? ? ?#如何限制組就改成這樣 ?這里也可以使用用戶Match User,用逗號隔開

Match User upload、download ? #我這里的需求是控制用戶所以就配置成這樣

ChrootDirectory /data ? ?#此目錄實際上傳目錄的上級目錄,例如這里實際存儲文件位置是/data/dataload

#用chroot將指定用戶的根目錄,chroot的詳細含義請參考如下鏈接:

ForceCommand internal-sftp ? ?#指定sftp命令

X11Forwarding no ? ? ? ? ? ? #這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則刪掉

AllowTcpForwarding no

注意:

要實現Chroot功能,目錄權限的設置非常重要。否則無法登錄,給出的錯誤提示也讓人無語。

基本上報錯都是這樣的

Connecting to 192.168.56.102...

Write failed: Broken pipe

Couldn‘t read packet: Connection reset by peer

目錄權限設置這里從網上找到了3條總結測試如下:

1、ChrootDirectory設置的目錄權限及其所有的上級文件夾權限,屬主和屬組必須是root:root

這里我的/data 屬組為root:root ?而/data/dataload 屬組為upload:dataload ?,具體如下

[[email?protected] ~]# ls -ld /data

drwxr-xr-x 3 root root 4096 5月 ?23 17:27 /data

[[email?protected] data]# ls -ld /data/dataload/

drwxrwxr-x 4 upload dataload 4096 5月 ?23 18:11 /data/dataload/

2、ChrootDirectory設置的目錄權限及其所有的上級文件夾權限,只有屬主能擁有寫權限,也就是說權限最大設置只能是755

這條沒試出來

3、ChrootDirectory %h 如果選擇了這種模式,用戶的home目錄必須是root:root 權限,它的上級目錄頁必須是root:root,否則就會報錯。

[[email?protected] /]# ls -ld /amovs/

drwxr-xr-x 3 amovs amovs 4096 5月 ?23 16:00 /amovs/

[[email?protected] /]# chown root:root /amovs

[[email?protected] /]# ls -l /amovs/

drwxr-xr-x 3 root root 4096 5月 ?23 16:39 data

這里設置完了以后還出現了一個問題就是通過sftp軟件上傳后的文件屬性是644的,也就是amovs用戶刪除不了upload 用戶的上傳的文件,這說明上傳文件的權限并沒有走系統用戶umask,通過查了一些資料修改PAM值并測試成功了。

一,查看并開啟ssh的PAM功能,

運行命令看看 ldd ?/usr/sbin/sshd | grep libpam.so支持PAM

[[email?protected] 20170523]$ ldd /usr/sbin/sshd | grep libpam.so

libpam.so.0 => /lib64/libpam.so.0 (0x00007fce94f79000)

編輯/etc/ssh/sshd_config

UsePAM yes ?#這默認是開啟的,沒有開的話開啟了

二,編輯/etc/pam.d/sshd,(具體說明參照PAM),加上umask那一行。

#%PAM-1.0

auth ? ? ? required ? ? pam_sepermit.so

auth ? ? ? include ? ? ?password-auth

account ? ?required ? ? pam_nologin.so

account ? ?include ? ? ?password-auth

password ? include ? ? ?password-auth

# pam_selinux.so close should be the first session rule

session ? ?required ? ? pam_selinux.so close

session ? ?required ? ? pam_loginuid.so

# pam_selinux.so open should only be followed by sessions to be executed in the user context

session ? ?required ? ? pam_selinux.so open env_params

session ? ?optional ? ? pam_keyinit.so force revoke

session ? ?include ? ? ?password-auth

session ? ? optional ? ? pam_umask.so umask=0002

重啟sshd服務就可以了

測試如下:

原文:http://laobaiv1.blog.51cto.com/2893832/1928973

總結

以上是生活随笔為你收集整理的Linux中sftp加权限,Linux 搭建Sftp服务并进行权限设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。