075玩软件园
首页 > 资讯教程 > 软件教程 > 使用教程 > windows 10 操作系统、电脑、应用程序等

windows 10 操作系统、电脑、应用程序等

作者:075玩 来源:互联网 2023-09-10 01:20:07

FTP,SFTP服务器登录权限和根目录的设置

一.设置用户访问FTP的权限

为了安全起见,在搭建FTP服务器的时候会限制用户的登录,那些用户我让他访问,那些不让访问,FTP服务器提供了两个配置文件:

 // 许可哪些用户可以访问

  // 不允许哪些用户访问

我这里创建了三个用户用于测试

[root@]#[root@]#[root@]#

首先我们测试许可用户

登录的时候出现一个问题:

[root@localhost~]#ftp192.168.219.129ftpconnect没有主机的路由ftp

访问被拒绝了,首先想到是防火墙(iptables)的原因,在FTP服务器上查看防火墙状态发现防火墙是开的,停了再次连FTP就没问题了

[root@localhostvsftpd]#firewall-cmd--staterunning[root@localhostvsftpd]#systemctlstopfirewalld.service[root@localhostvsftpd]#firewall-cmd--statenotrunning

在没有许可ftptest用户前连接被拒绝了

[root@localhost~]#ftp192.168.219.129Connectedto192.168.219.129(192.168.219.129).220(vsFTPd3.0.2)Name(192.168.219.129:root):ftptest530Permissiondenied.Loginfailed.

现在许可一下看看,在/etc/vsftpd/user_list 里面加入ftptest(注意:一个用户单独占一行)

这是报错:500OOPS:vsftpd:refusingtorunwithwritablerootinsidechroot()

解决办法:用命令chmoda-w/home/ftptest去除用户主目录的写权限,注意把目录替换成自己的。或者你可以在vsftpd的配置文件中增加下面的内容:allow_writeable_chroot=YES

再次登录测试,这时登录OK(其他用户按照这一步骤操作即可)

[root@localhost~]#ftp192.168.219.129Connectedto192.168.219.129(192.168.219.129).220(vsFTPd3.0.2)Name(192.168.219.129:root):ftptest331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp

二.设置FTP,SFTP的根目录

设置FTP的根目录

正常情况下FTP和SFTP默认的根目录是在登录用的家目录(/home/ftpuser)下,这样的话会有一个问题,当我们用不同的用户登录的时候,他进的FTP目录不一样,例:

为了方便测试我们在不用的用户根目录下新建标识文件:

[root@localhosthome]#touch/home/ftpuser/ftpuser.txt[root@localhosthome]#touch/home/ftpname/ftpname.txt

首先用ftpuser用户登录ftp

[root@localhost~]#ftp192.168.219.129Connectedto192.168.219.129(192.168.219.129).220(vsFTPd3.0.2)Name(192.168.219.129:root):ftpuser331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257"/"ftpls227EnteringPassiveMode(192,168,219,129,194,109).150Herecomesthedirectorylisting.-rw-r--r--1000Oct0816:12ftpuser.txt226DirectorysendOK.

用ftpname 用户登录ftp

[root@localhost~]#ftp192.168.219.129Connectedto192.168.219.129(192.168.219.129).220(vsFTPd3.0.2)Name(192.168.219.129:root):ftpname331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257"/"ftpls227EnteringPassiveMode(192,168,219,129,118,21).150Herecomesthedirectorylisting.-rw-r--r--1000Oct0816:11ftpname.txt226DirectorysendOK.

像上面的情况,不用的用户登录不通的ftp,他会进入各自的家目录,如果想要不同的用户进入同一目录可以参照下面的设置:

local_root=/var/www/ftp/(自己指定的ftp根目录)

这时候需要注意一点根目录的权限是drwxr-xr-x.,这时候ftp是没有写入权限的,需要写入权限可以给他分配成777(注意:要是ftp和sftp的根目录保持一致的话就不能给跟目录分配成777,可以在根目录下新建一个文件夹再分配777的权限)

ftpmkdirtest550Createdirectoryoperationfailed.

设置SFTP的根目录

打开/etc/ssh/sshd_config文件修改配置

#Subsystemsftp/usr/libexec/openssh/sftp-serverSubsystemsftpinternal-sftp

在文件结尾加上下面配置即可

MatchUserftpuserChrootDirectory/var/www/ftp/ForceCommandinternal-sftp

重启sshd验证

 servicesshdrestart

为了方便区分,我在设置的ftp根目录下新建test文件

touch/var/www/ftp/test

登录SFTP验证

[root@localhost~]#sftpftpuser@192.168.219.129ftpuser@192.168.219.129'spassword:Connectedto192.168.219.129.sftpls-l-rw-r--r--1000Oct905:38test

登录FTP验证

[root@localhost~]#ftp192.168.219.129Connectedto192.168.219.129(192.168.219.129).220(vsFTPd3.0.2)Name(192.168.219.129:root):ftpuser331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftpls227EnteringPassiveMode(192,168,219,129,162,143).150Herecomesthedirectorylisting.-rw-r--r--1000Oct0913:38test226DirectorysendOK.

以上步骤都是自己手动实验做的,文采不好,写的不好,还望各位客官多提意见

相关阅读

win7 ftp目录权限设置权限linux设置ftp目录权限windows 10 操作系统、电脑、应用程序等
关 键 词:
返回顶部