[zt]vsFTP服务器,相关的一系统补充


 
 
 

补充一:如何有选择的把用户限制在家目录中呢?

我们要自己建一个文件,在/etc目录中
#touch /etc/vsftpd.chroot_list
以beinan和nanbei这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。

在vsftpd.chroot_list这个文件中,把beinan和nanbei添上去就行,注意,每个用户占一行。
beinan
nanbei
然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行

#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list

把前面的#号去掉,也就是这样的
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

如果没有这样的两行,就可以自己添加上去也是一样的。

设置好后,重新vsFTPD服务器。

补充一之补充:如何把系统内所有的FTP用户都限制在家目录中呢??经juliaugong兄的提示,我查找了vsFTPd的洋文说明,证明这个选项是一刀切的解决所有的用户都能限制在家目录中

我们可以通过更改vsftpd.conf文件,加入如下的一行

chroot_local_user=YES

改完配制文件,不要忘记重启vsFTPd服务器


[root@linuxsir001 root]# /etc/init.d/vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
[root@linuxsir001 root]#

补充二:打开vsFTP服务器的日志功能:

把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。
#xferlog_file=/var/log/vsftpd.log

补充三:如何让绑定IP到vsFTP?也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP

在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP
listen_address=192.168.0.2

加完后,要重启vsFTP服务器

[root@linuxsir001 root]# /etc/init.d/vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
[root@linuxsir001 root]#

补充四:如何让vsFTP服务器限制链接数,以及每个IP最大的链接数??

答:应该改vsFTP服务器的配制文件vsftpd.conf,加入下面的两行:

max_clients=数字
max_per_ip=数字

举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:
max_clients=100
max_per_ip=5

改好了配制文件,不要忘记启动vsftp服务器。


补充五:如何限制下载的速度?

anon_max_rate=数字 注:这是匿名的下载速度
local_max_rate=数字 注:这是vsFTP服务器上普通用户的下载速度

注:这个数字的单位是字节,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024x80=81920
所以我们要在vsftpd.conf中加入下面的两行
anon_max_rate=81920
local_max_rate=81920

不要忘记重启vsftpd服务

补充六:我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区??

可以,应该如下操作!

首先要把ftp这个用户删除
#userdel -r ftp
会有错误信息,不过不用理,这是正常的。

然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作

[root@linuxsir001 root]# mkdir /mnt/LinG

[root@linuxsir001 root]# adduser -d /mnt/LinG/ftp -g ftp -s /sbin/nologin ftp

仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。

[root@linuxsir001 root]# chmod 755 /mnt/LinG/ftp/

[root@linuxsir001 root]# chown -R root.root /mnt/LinG/ftp/


补充七:如何定制欢迎信息,也就是我们登入有些FTP之后,会出现类似:欢迎您来到LinuxSir FTP,在这里,您会得到最真诚的帮助,如果有什么问题和建议,请来信,多谢。
实现这个并不难,我们可以查看vsftpd.cof文件中,是否有这行。
dirmessage_enable=YES
如果没有就加上,如果dirmessage_enable=YES前面有#号,就把#号去掉。

然后我们制定一个.message文件,写上您想要写的东西,比如是.message的内容是如下的:

欢迎您来到LinuxSir FTP!
在这里,您会得到最真诚的帮助;
如果有什么问题和建议,请来信,多谢。

我们可以用编辑器来写这个.message,我想这个过程就不用说了吧。

然后我们把.message这个文件复制到各个用户的家目录中。比如我的FTP的一个用户是beinan,这个用户所在的家目录是/home/beinan
我们就要把.message放在/home/beinan这个目录下。如果系统用户ftp,他的目录就是/var/ftp这个目录,这个是默认的,当匿名用户登入时就访问的是/var/ftp这个目录。我们要让匿名用户能看到欢迎信息。就要把.message放在/var/ftp目录中。其它的用户,也无非就是类似的操作。


补充八:如何实现虚拟路径?
比如:
/home/a 映射为ftp://localhost/a
/home/b/c 则为ftp://localhost/c

其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。

#mount --bind [原有的目录] [新目录]

比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作

我们要先在/var/ftp目录中建一个目录
#mkdir /var/ftp/WinSoft
然后执行mount命令
#mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft

这样就OK了。


补充九:如何上匿名访问、上传,并支持下载和执行?

在默认的情况下,vsftp是不支持匿名用户的访问的,所以我们要自己打开相应的选项。现在我针对这个问题,我们要打开如下的选项。

anonymous_enable=YES 注:允许匿名访问
anon_upload_enable=YES 注:允许上传
anon_mkdir_write_enable=YES 注:允许建立相应的目录
anon_umask=022 把上传到FTP的文件或者目录改变权限

当然打开这些选项还是不行的,我们还要让匿名写入文件的上一级目录有写入权,以我所做的FTP为例,我所做的FTP的匿名访问的目录是/var/ftp,在vsFTPd中,/var/ftp这个目录是不能让匿名用户有写入权限的,这是为了安全考虑,所以我们必须自己在/var/ftp目录中建一个目录,让这个目录有写入权。

比如:我在/var/ftp目录建一个upload目录,然后把它的权限设置成777,这样匿名用户就能写入了。

#mkdir /var/ftp/upload
#chmod 777 /var/ftp/upload

改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

[root@linuxsir001 root]# service vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
[root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器
[root@linuxsir001 root]# service xinetd restart
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]
[root@linuxsir001 root]# ]


补充十:通过pam认证方式,添加虚拟用户


通过pam认证,用db_load添加用户,是真正的虚拟用户。现在我们简单的介绍一下,通过以后的学习,我们再深入补充:

1。在/etc/pam.d/目录中创建一个文件ftp
[root@linuxsir001 root]# touch /etc/pam.d/ftp

2。在/etc/pam.d/ftp里面加上如下的两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

3。创建一系统的用户名用密码的文件logins.txt
[root@linuxsir001 root]# touch logins.txt
在logins.txt文件中,输入如下的内容。这个内容您可以自己来定。比如我下面的。其实linuxsir007是FTP的虚拟用户名,123456是linuxsir007的密码;linuxsir008是虚拟用户名,234567是linuxsir008的密码,以此类推,您想加入几个就是几个;下面是我添加的FTP的虚拟用户名和密码。
linuxsir007
123456
linuxsir008
234567
linuxsir009
567890
linuxsir010
678901
linuxsir011
789012

4。创建一个真实的用户名linuxsir006,这个linuxsir006的用户,所在的家目录由您来定。我在这里不多说了。我是按系统默认的来添加的。

[root@linuxsir001 root]# useradd linuxsir006

5。把/etc/hosts复制到/home/linuxsir006,并改变它的属主

[root@linuxsir001 root]#cp /etc/hosts /home/linuxsir006/hosts

[root@linuxsir001 root]#chown linuxsir006.linuxsir006 /home/linuxsir006/hosts

6。通过db_load来创建虚拟用户的库文件。我们在前面建的logins.txt文件,我是放在了/root用户目录下。所以咱们得把目录切换到/root目录来创建虚拟用户的库文件。

[root@linuxsir001 root]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

7。更改vsftpd.conf文件,加入如下的几行
pam_service_name=ftp
guest_enable=YES
guest_username=linuxsir006
anon_world_readable_only=NO

8。重启vsFTPd服务器;改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

[root@linuxsir001 root]# service vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
[root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器
[root@linuxsir001 root]# service xinetd restart
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]
[root@linuxsir001 root]#

9。如果您想让用户登入FTP时,登入成功的相应的信息,请把您制作的.message复制到您的用户的家目录中,这方面的请参考前面的补充。

10。测试:
[root@linuxsir001 root]# ftp 192.168.0.1
Connected to 192.168.0.1.
220 (vsFTPd 1.1.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.1:root): linuxsir007
331 Please specify the password.
Password:
230-欢迎光临LinuxSir自由FTP
230-在这里,您将得到最真诚的帮助!
230-本站限度为30KB!
230-每个IP限四个线程
230-请大家遵守FTP的有关规定。
230-多谢合作!
230-
230-LinuxSir管理部
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,0,1,85,171)
150 Here comes the directory listing.
-rw-r--r-- 1 ftp ftp 174 Jun 01 12:59 hosts
drwxr-xr-x 3 ftp ftp 4096 Jun 01 13:29 linuxsir008
drwxr-xr-x 2 ftp ftp 4096 Jun 01 13:24 sun
226 Directory send OK.
ftp>

补充十一:如何把Redhat 9.0中系统默认安装的vsftpd-1.1.3-8.i386.rpm,系统默认vsFTPd是用standalone启动方式 ,改为xinetd启动方式 ?
如果是用源码包安装的,安装后就是xinetd模式,如果是用RPM包安装的,在Redhat 9.0中,应该用下面的方法来解决。

 


1.在/etc/xinetd.d/目录中创建一个文件vsftpd

[root@linuxsir001 root]# touch /etc/xinetd.d/vsftpd

/etc/xinetd.d/vsftpd内容如下:

service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
# server_args =
# log_on_success += DURATION USERID
# log_on_failure += USERID
nice = 10
disable = no
}

2。复制vsftpd.conf到/etc/目录下,因为xinetd对vsFTPd配制文件应该在/etc目录下,所以我们就必须把这个文件复制到/etc目录下,否则会出现系统中local用户无法登入,也就是说,不复制这个文件会出现ftp非匿名用户无法访问,只能用匿名用户访问。

[root@linuxsir001 root]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf

3。更改配制文件/etc/vsftpd.conf,把如下的项注掉:
也就是把
listen=YES
改为
#listen=YES
或者是把这行删除也行。

4。把/etc/init.d/vsftpd这个文件删除。其实最好的备份到别处,因为我们有时实验来实验去,可能还会转到standalone模式启动。我就直接移动到别的目录,比如是/root下面的backup目录。


[root@linuxsir001 root]#mkdir /root/backup
[root@linuxsir001 root]# mv /etc/init.d/vsftpd /root/backup

5。运行ntsysv,把vsftpd的服务取消

[root@linuxsir001 root]#ntsysv

[ ] vsftpd

6。重启xinetd服务

[root@linuxsir001 root]# service xinetd restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 支持向量机非线性回归通用MATLAB程序解析 #### 一、概述 本文将详细介绍一个基于MATLAB的支持向量机(SVM)非线性回归的通用程序。该程序采用支持向量机方法来实现数据的非线性回归,并通过不同的核函数设置来适应不同类型的数据分布。此外,该程序还提供了数据预处理的方法,使得用户能够更加方便地应用此程序解决实际问题。 #### 二、核心功能与原理 ##### 1. 支持向量机(SVM) 支持向量机是一种监督学习模型,主要用于分类和回归分析。对于非线性回归任务,SVM通过引入核技巧(kernel trick)将原始低维空间中的非线性问题转换为高维空间中的线性问题,从而实现有效的非线性建模。 ##### 2. 核函数 核函数的选择直接影响到模型的性能。本程序内置了三种常用的核函数: - **线性核函数**:`K(x, y) = x'y` - **多项式核函数**:`K(x, y) = (x'y + 1)^d` - **径向基函数(RBF)**:`K(x, y) = exp(-γ|x - y|^2)` 其中RBF核函数被广泛应用于非线性问题中,因为它可以处理非常复杂的非线性关系。本程序默认使用的是RBF核函数,参数`D`用于控制高斯核函数的宽度。 ##### 3. 数据预处理 虽然程序本身没有直接涉及数据预处理的过程,但在实际应用中,对数据进行适当的预处理是非常重要的。常见的预处理步骤包括归一化、缺失值处理等。 ##### 4. 模型参数 - **Epsilon**: ε-insensitive loss function的ε值,控制回归带宽。 - **C**: 松弛变量的惩罚系数,控制模型复杂度与过拟合的风险之间的平衡。 #### 三、程序实现细节 ##### 1. 函数输入与输出 - **输入**: - `X`: 输入特征矩阵,维度为(n, l),其中n是特征数量,l是样本数量。 - `Y`: 目标值向量,长度为l。 - `Epsilon`: 回归带宽。 - `C`: 松弛变量的惩罚系数。 - `D`: RBF核函数的参数。 - **输出**: - `Alpha1`: 正的拉格朗日乘子向量。 - `Alpha2`: 负的拉格朗日乘子向量。 - `Alpha`: 拉格朗日乘子向量。 - `Flag`: 标记向量,表示每个样本的类型。 - `B`: 偏置项。 ##### 2. 核心代码解析 程序首先计算所有样本间的核矩阵`K`,然后构建二次规划问题并求解得到拉格朗日乘子向量。根据拉格朗日乘子的值确定支持向量,并计算偏置项`B`。 - **核矩阵计算**:采用RBF核函数,通过`exp(-(sum((xi-xj).^2)/D))`计算任意两个样本之间的相似度。 - **二次规划**:构建目标函数和约束条件,使用`quadprog`函数求解最小化问题。 - **支持向量识别**:根据拉格朗日乘子的大小判断每个样本是否为支持向量,并据此计算偏置项`B`。 #### 四、程序扩展与优化 - **多核函数支持**:可以通过增加更多的核函数选项,提高程序的灵活性。 - **自动调参**:实现参数自动选择的功能,例如通过交叉验证选择最优的`Epsilon`和`C`值。 - **并行计算**:利用MATLAB的并行计算工具箱加速计算过程,特别是当样本量很大时。 #### 五、应用场景 该程序适用于需要进行非线性回归预测的场景,如经济预测、天气预报等领域。通过调整核函数和参数,可以有效应对各种类型的非线性问题。 ### 总结 本程序提供了一个支持向量机非线性回归的完整实现框架,通过灵活的核函数设置和参数调整,能够有效地处理非线性问题。对于需要进行回归预测的应用场景,这是一个非常实用且强大的工具。
项目:JavaScript 中的 Canyon Runner 游戏 Canyon Runner Game 是一个 HTML5 和 JavaScript 项目。这款游戏看起来很棒,玩起来很有趣。这款游戏使用了 Phaser框架。如果你想编写一个简单的游戏,那么这款射击游戏就是你必玩的游戏。这款游戏包含大量 JavaScript,用于对游戏的某些部分进行验证。 游戏玩法 要运行此游戏,您不需要任何类型的本地服务器,但需要 浏览器。您可以使用 Google Chrome 或 Mozilla Firefox 获得更好、更优化的游戏体验。要先玩游戏,请在浏览 器中单击 index.html 文件打开游戏。打开后,将出现一个带有开始菜单选项的屏幕。游戏的控制是箭头键和空格键,用于射击障碍物。游戏有一个主要的太空敌人和一个健康强化。具有惊人的视差效果、复古声音等。 这款游戏的射击是自动的。当你开始游戏时,射手开始发射火箭。记住这是一款两级或两章的游戏。第一级处理障碍和障碍。你需要越过这些障碍,不要让它们碰到你。即使它们碰到你,你也可以通过吃健康能量来恢复你的健康。你可以跑得更快,也可以控制你的宇宙飞船速度。 当你通过第一关后,你将在第二章中面对主要敌人。他会不断向你发射火箭导弹。你必须躲避它们并保护自己。你可以用火箭导弹攻击敌人来杀死他们。如果你能杀死敌人,你就赢了游戏。 这款游戏玩起来很有趣,重制它更是有趣。所以希望你能给这款游戏添加一些额外的关卡。 要查看我们的项目,您可以查看下面的图像滑块。我们建议您使用 Google Chrome 以获得更好的游戏性能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值