Linux设置SFTP服务用户目录权限

我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。

提供sftp服务的有vsftpd和internal-sftp,这里用的是系统自带的internal-sftp,操作步骤如下:

1.创建新用户ui,禁止ssh登录,不创建家目录

useradd -s /sbin/nologin -M www

2.设置用户密码

passwd www

3.创建用户的根目录,用户就只能在此目录下活动

mkdir /home/www

4.设置目录权限,目录的权限设定有两个要点:
目录开始一直往上到系统根目录为止的目录拥有者都只能是root
目录开始一直往上到系统根目录为止都不可以具有群组写入权限

chown root:root /home/www
chmod 755 /home/www

5.配置sshd_config

vim /etc/ssh/sshd_config

6.修改为下面内容,保存退出

#注释掉这行
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
#添加在配置文件末尾
Subsystem sftp internal-sftp     #指定使用sftp服务使用系统自带的internal-sftp
Match User www                     #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /home/www         #用chroot将指定用户的根目录,chroot的含义:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/
ForceCommand internal-sftp        #指定sftp命令
X11Forwarding no                #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

7.重启sshd服务

service sshd restart

8.测试:
用户登录后进入的是/home/www即用户根目录,根目录是无法写入的,所以先用root在/home/www新建一个ui目录

mkdir /home/www/ui

修改目录所有者和权限

chown ui:ui /home/www/ui
chmod 777 /home/www/ui
#可以在其他目录创建软连接指向ui目录
#ln -s  /home/www/ui /www/

sftp登录www用户,进入ui目录,即可在/home/www/ui下,对文件进行添加、修改、删除的操作

sftp -oPort=22 [email protected]
sftp> cd ui
时间: 2024-11-05 13:33:33

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软件上传和下载文件使用,不能作为

Linux命令简介(文件/目录权限操作命令)

文件/目录权限 文件/目录的属性 1.权限 读取.写入.可执行 2.归属 属主.属组 注意:root用户是系统的超级用户,拥有完全的管理权限,所以目录的权限限制对root用户将不起作用.它只是针对普通用户来说的. 权限字符表示 权限      文件                目录 r         查看文件内容        查看目录内容(显示子目录.文件列表) w         修改文件内容        修改目录内容(在目录中新建.移动.删除文件或子目录) x         执行该

rhel7 设置带sgid的目录权限

设置带sgid的目录权限 [[email protected] home]# chmod g+s admins/   #所属组与上级文件夹一样 [[email protected] home]# ll total20 drwx------.5 a       a         4096 Oct  1 18:50 a drwx------.5 abc     abc       4096 Oct 1 16:59 abc drwxrws---.2 root    adminuser   16 Oc

sftp限制用户目录

背景说明:业务部门需通过sftp(22端口)用堡垒机访问应用服务器,以替换欢迎语语音. ? 环境说明: 主机名 操作系统版本 ip 备注 redhat6.8 Red Hat Enterprise Linux Server release 6.8 (Santiago) 172.27.9.199 应用服务器,关闭selinux localhost Red Hat Enterprise Linux Server release 6.8 (Santiago) 172.27.9.189 sftp连接测试

【linux相识相知】用户及权限管理

linux系统是多用户(Multi-users)和多任务(Multi-tasks)的,这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢?作为一个管理员我对linux系统权限有哪些?作为一个普通的用户又可以对linux系统有哪些操作呢?这里就牵扯到了linux的用户类别和权限管理.本次博客就用户和权限管理作出详细的解释. 用户和组类型 在linux系统中,有着用户和组着两个概念,用户是被包含在组里面的. 用户可以分为以下2中类别: 管理员:也就

Linux之小基础-用户和权限管理

一.何为Linux用户: Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户,都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也能帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和用户口令.用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录. 二.用户的分类: Unix/Linux系统中有两类用户超级用户(root)和一般用户

Linux学习笔记:用户的权限管理

在上周清明假期期间,我们仍然在紧张的学习中,今天我们学习了用户的权限管理,用户的权限管理顾名思义即为用户在使用操作系统时所能使用的权限及管理用户使用相应的命令为用户添加相应的权限,其中用户的权限分为普通权限,特殊权限及文件的特殊权限. 以下即为本堂课所学内容整理记录: 普通权限: 进程安全上下文: 1.判断进程的所有者是否为想要操作的文件的属主,如果是,就按照属主的权限进行授权: 如果不是,就转到第2条: 2.判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权:

Linux下的文件与目录权限

一.用户(User).群组(Group)和其他人(Others) linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的用户(user),比如我们使用用户名user1登录系统,user1在自己的工作目录下创建了一个文件diary.txt来记录自己的日记,则日记diary.txt的用户为user1,系统中可能有其他用户存在,而user1并不想其他人读自己的日记,这时user1就可以通过设置日记的权限来控制主机上的所有用

Linux命令之文件及目录权限

1 chmod:修改文件及目录权限 选项:--reference=file    根据参考文件设置权限 -R                  递归设置权限 chmod命令参数中,u代表所有者,g代表属组,o代表其它用户,a代表所有人 [[email protected] ~]# chmod 755 a.txt [[email protected] ~]# chmod o-x a.txt [[email protected] ~]# chmod u=rw,g=rw,o=r a.txt [[ema