LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 03-05-31, 12:27 第 31 帖
baipeboy
 
baipeboy 的头像
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 83
  精华: 1
 

真得是太好了!!!顶!!!
试验中~~~~
开自己的FTP!!!
  baipeboy 当前离线   回复时引用此帖
旧 03-06-01, 12:33 第 32 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

引用:
南北 兄:
测试成功!(anon_umask=022)
但不知022表示什么意思
是代表权限吗?
请指教
多谢!
是。就是改变上传后的权限。umask中指定文件的默认权限屏蔽。

看一下这里吧,etony兄的解说,这个很简单, 也不用讨论了。哈。。。


http://www.linuxsir.com/bbs/showthre...threadid=15504







__________________
请弟兄们发帖时要写个好标题,多谢!
签名不支持html和bbcode,请弟兄为了版面的整洁,请更改签名档,谢谢!
请各版版主及初学Linux的弟兄,请在您的签名写上机器的配置,以及您所用的系统(包装版本号,内核),谢谢。

Slackware64 13.x kernel 2.6.29.6
****************************************
因为太笨,所以努力;
****************************************
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 13:21 第 33 帖
stealstar
 
 
 
注册会员  
  注册日期: Apr 2003
  帖子: 59
  精华: 1
 

顶一下。

请北南斑竹接着讲通过pam认证,用db_load来添加用户的方法,我等的就是这个。
  stealstar 当前离线   回复时引用此帖
旧 03-06-01, 15:27 第 34 帖
stealstar
 
 
 
注册会员  
  注册日期: Apr 2003
  帖子: 59
  精华: 1
 

我这里匿名用户无法上传,请问版主是怎么回事?
vsftpd.conf文件就是你前面贴的内容,然后加了一个anon_unmask=022,/var/ftp的权限,我看了一下,以root登陆看的话是755

下面是上传后服务器给的信息。
收到URL file:///fat/e/files/Software/System/delphi7.rar
PASV

227 Entering Passive Mode (192,168,0,1,123,178)
STOR //delphi7.rar

550 Permission denied.
PASV

227 Entering Passive Mode (192,168,0,1,41,125)
LIST -aL

150 Here comes the directory listing.
226 Directory send OK.
  stealstar 当前离线   回复时引用此帖
旧 03-06-01, 17:27 第 35 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

引用:
我倒还是觉得虚拟路径映射比较重要,能优先学习一下嘛?
比如:
/home/a 映射为ftp://localhost/a
/home/b/c 则为ftp://localhost/c
怎么实现啊?
补充八:如何实现虚拟路径?
比如:
/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了。
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 18:15 第 36 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 



引用:
我这里匿名用户无法上传,请问版主是怎么回事?
vsftpd.conf文件就是你前面贴的内容,然后加了一个anon_unmask=022,/var/ftp的权限,我看了一下,以root登陆看的话是755

下面是上传后服务器给的信息。
收到URL file:///fat/e/files/Software/System/delphi7.rar
PASV

227 Entering Passive Mode (192,168,0,1,123,178)
STOR //delphi7.rar

550 Permission denied.
PASV

227 Entering Passive Mode (192,168,0,1,41,125)
LIST -aL

150 Here comes the directory listing.
226 Directory send 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模式的,当然用下面的方法


#mkdir /var/ftp/upload

[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]#
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 19:26 第 37 帖
stealstar
 
 
 
注册会员  
  注册日期: Apr 2003
  帖子: 59
  精华: 1
 

没问题了,谢谢版主,不过这两个补充应该放到前面去。

期待版主关于“通过pam认证,用db_load来添加用户的方法”的讲解。
  stealstar 当前离线   回复时引用此帖
旧 03-06-01, 21:58 第 38 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

引用:
没问题了,谢谢版主,不过这两个补充应该放到前面去。

期待版主关于“通过pam认证,用db_load来添加用户的方法”的讲解。

补充十:通过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复制到您的用户的家目录中,这方面的请参考前面的补充。

9。测试:
[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>
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 22:15 第 39 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

TO:juliaugong兄,我实践过了,把这条加上去了,如下。前面的那个,是有选择性的限制用户在家目录中,您所说的是把所有的用户一步到位都限制在用户的家目录中。

多谢。。




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

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

chroot_local_user=YES

改完配制文件,不要忘记重启vsFTPd服务器
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 22:43 第 40 帖
baipeboy
 
baipeboy 的头像
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 83
  精华: 1
 

北南兄,请讲讲xinetd运行方式的vsftpd内容吧,期待^^^
  baipeboy 当前离线   回复时引用此帖
旧 03-06-01, 23:03 第 41 帖
baipeboy
 
baipeboy 的头像
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 83
  精华: 1
 

怎么样才能看出自己用的是独立运行方式,还是xinetd运行方式???
  baipeboy 当前离线   回复时引用此帖
旧 03-06-01, 23:10 第 42 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

引用:
北南兄,请讲讲xinetd运行方式的vsftpd内容吧,期待^^^
我会写个独立的来被充,因为目前的情况下,用standalone模式运行的比较多,这个也是很重要的。所以我先把standalone模式运行的情况补充的差不多,就写xinetd 运行模式的。

引用:
怎么样才能看出自己用的是独立运行方式,还是xinetd运行方式???
如果有配制文件中,看到有如下的一行,但没有注释掉。也就是说在这行前面没有加#号。这样的模式就是standalone运行模式。


listen=YES
  北南南北 当前离线   回复时引用此帖
旧 03-06-01, 23:34 第 43 帖
baipeboy
 
baipeboy 的头像
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 83
  精华: 1
 

北南兄那怎样才能启动winetd运行方式呢???要在主设置文件中怎样设置???
  baipeboy 当前离线   回复时引用此帖
旧 03-06-02, 00:41 第 44 帖
北南南北
 
北南南北 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 24,301
  精华: 483
 

引用:
北南兄那怎样才能启动winetd运行方式呢???要在主设置文件中怎样设置???
如果是用源码包安装的,安装后就是xinetd模式,如果是用RPM包安装的,在Redhat 9.0中,应该用下面的方法来解决。


补充十一:如何把Redhat 9.0中系统默认安装的vsftpd-1.1.3-8.i386.rpm,系统默认vsFTPd是用standalone启动方式 ,改为xinetd启动方式 ?

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/目录下

[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
  北南南北 当前离线   回复时引用此帖
旧 03-06-02, 10:03 第 45 帖
baipeboy
 
baipeboy 的头像
 
 
注册会员  
  注册日期: Feb 2003
  帖子: 83
  精华: 1
 

好!!!顶!!!老大就是老大!!!有求必应!!!
  baipeboy 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:10


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org