首页 > 其他分享 >搭建sftp并且保证普通用户有权限操作对应文件

搭建sftp并且保证普通用户有权限操作对应文件

时间:2024-07-02 11:44:48浏览次数:10  
标签:普通用户 vedio sudo zhangqiang sftp qrCode home 权限 splsz

创建SFTP用户组

为SFTP用户创建一个专用组:

groupadd sftpusers

创建SFTP用户

创建SFTP用户splsz并将其添加到sftpusers组,同时指定用户的主目录和禁止shell访问:

useradd -g sftpusers -s /sbin/nologin splsz
passwd splsz

创建目录结构

sudo mkdir -p /home/zhangqiang/davinci/data/test/vedio_qrCode
sudo mkdir -p /home/splsz/upload

设置目录权限

为普通用户和SFTP用户设置目录权限:

# 确保普通用户拥有上传目录的所有权
sudo chown -R zhangqiang:zhangqiang /home/zhangqiang/davinci/data/test/vedio_qrCode
sudo chmod 755 /home/zhangqiang/davinci/data/test/vedio_qrCode

# 确保SFTP用户的根目录由root拥有,并且上传目录由SFTP用户拥有
sudo chown root:root /home/splsz
sudo chmod 755 /home/splsz
sudo chown splsz:sftpusers /home/splsz/upload
sudo chmod 755 /home/splsz/upload

配置绑定挂载或者创建软链接 二选一

绑定挂载

将普通用户的上传目录绑定挂载到SFTP用户的根目录:

sudo mount --bind /home/zhangqiang/davinci/data/test/vedio_qrCode /home/splsz/upload

为了在重启时自动挂载,编辑/etc/fstab文件,添加以下行:

/home/zhangqiang/davinci/data/test/vedio_qrCode /home/splsz/upload none bind 0 0

创建软链接

ln -s /home/zhangqiang/davinci/data/test/vedio_qrCode /home/splsz/upload

配置sshd_config

编辑OpenSSH的配置文件/etc/ssh/sshd_config,添加或修改以下配置:

# 取消注释并修改 Subsystem
Subsystem sftp internal-sftp

# 追加以下配置
Match User splsz
    ChrootDirectory /home/splsz
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

设置文件的默认ACL

确保安装了acl工具:

sudo yum install -y acl

设置默认的ACL:

sudo setfacl -d -m u:zhangqiang:rwx /home/zhangqiang/davinci/data/test/vedio_qrCode
sudo setfacl -d -m g:sftpusers:rwx /home/zhangqiang/davinci/data/test/vedio_qrCode
sudo setfacl -R -m u:zhangqiang:rwx /home/zhangqiang/davinci/data/test/vedio_qrCode
sudo setfacl -R -m g:sftpusers:rwx /home/zhangqiang/davinci/data/test/vedio_qrCode

重启SSH服务

标签:普通用户,vedio,sudo,zhangqiang,sftp,qrCode,home,权限,splsz
From: https://www.cnblogs.com/heizq/p/18279552

相关文章

  • 【Linux】解锁权限的神秘面纱,让你的系统更安全、更高效!
    XShell原理+权限1.Shell命令以及运行原理*1.1Shell外壳1.2shell周边知识2.Linux权限的概念*2.1用户2.2用户切换2.3sudo3.Linux权限管理*3.1文件访问者的分类3.2文件类型3.3file指令3.4文件访问权限3.5文件权限值的表示方法4.文件访问权限的设......
  • 在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为77
    在Linux中,要使用xargs和exec结合find命令来批量修改当前目录下所有后缀名为.txt的文件权限为777,可以按照以下步骤操作:查找.txt文件:首先,使用find命令来查找当前目录及其子目录下的所有.txt文件。这里我们使用-name"*.txt"来指定查找的文件名模式。传递给xargs:然后,通过管......
  • Linux---文件的权限
    在Linux中的权限采用的是三位十进制的数表示权限,如:0755,0644权限的使用是由四个部分组成,ABCD(为了方便说明,采用这四个字母代表四个部分)A~0:表示十进制B:表示用户的权限C:表示组用户的权限D:表示其他用户的权限—:0,表示不能读,不能写,不可以执行–x:1,表示不能读,不能写,可以执......
  • Fake权限验证小例子
    前言关于本地测试如何进行Fake权限验证正文在我们使用swagger调试本地接口的时候,我们常常因为每次需要填写token而耽误工作,不可能每次调试的时候都去本地测试环境请求一个token进行验证吧。上图可能是我们本地测试的时候需要填写的一个token位置,本地测试不方便。那么怎么伪......
  • 个人前后端权限理解篇
    前端权限前端权限是基于后端配合的基础上进行实现的,很多数据需要后端进行提供。前端权限主要通过以下几个方面进行控制,后端通过接口进行配合:菜单控制可以通过后端返回相应身份的权限进行前端渲染,主要在登录后完成相关部分控制。登录后可将相关数据保存在localStorage或者是se......
  • mysql 如何分配root账号创建数据库的权限
    1.mysql如何分配root账号创建数据库的权限在MySQL中,root用户通常具有所有的权限,包括创建数据库的权限。但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制root用户对某个特定数据库或服务器的权限(尽管这在实际操作中并不常见,因为root用户通常应该是无限制的......
  • mysql 如何分配root账号创建数据库的权限
    1.mysql如何分配root账号创建数据库的权限在MySQL中,root用户通常具有所有的权限,包括创建数据库的权限。但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制root用户对某个特定数据库或服务器的权限(尽管这在实际操作中并不常见,因为root用户通常应该是无限......
  • 如何开启MySQL远程访问权限允许远程连接?
    如何开启MySQL远程访问权限允许远程连接? 当需要允许远程连接MySQL时,你可以按照以下方法进行配置:1.改表法:如果你的MySQL帐号仅允许在本地登陆,而不允许远程登陆,你可以通过更改\mysql\数据库中的\user\表来修改\host\项。-在本地MySQL中,执行以下命令:mysql-uroot-p-进......
  • Linux 文件权限
    优质博文:IT-BLOG-CN一、使用者与群组的概念【1】在Linux里面,任何一个文件都具有[User,Group及Other]三种身份的个别权限:不过需要注意的是root用户,具有所有权限。✔User(文件拥有者):只有文件拥有者,就是你自己,才能看与修改这个文件的内容;✔Group(群组的概念):群组是最有......
  • readhat8搭建SFTP双机高可用并配置Rsync数据实时同步
    环境准备:主机host-61-118:192.168.61.118host-61-119:192.168.61.119vip:192.168.61.220检测openssh版本,版本必须大于4.8.p1,否则需要升级openssh版本[root@host-61-118~]#ssh-VOpenSSH_7.4p1,OpenSSL1.0.2k-fips26Jan2017关闭防火墙systemctlstopfirew......