通过修改改/etc/hosts.allow 来实现访问控制 但是有个小问题(详见155楼(第11页))

上网、浏览、聊天、下载等
回复
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#31

帖子 qy117121 » 2013-06-18 14:36

限制所有
限制登录用户访问其他目录,改之前登录显示的路径比如是 ~ ,改之后则是 /。

效果是像这样的。
注:我的本地用户(local user为yeshuai,home directory为/home/yeshuai)


root@ubuntu:~# ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.2)
Name (localhost:yeshuai): yeshuai

331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
'''257 "/"'''

看上边,正常情况下,输入pwd时,应该是显示/home/yeshuai.
由于我做了chroot.所以,/home/yeshuai变成 /

代码: 全选

chroot_local_user=YES
楼主是没明白这里的意思吧
这个代码的作用是,你ftp登录后的目录是/home/ftp ,但是客户端以为是/ 这样而已
并不是把你限制在/ (/home/ftp )下面不能访问子文件夹
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#32

帖子 qy117121 » 2013-06-18 14:37

限制所有
限制登录用户访问其他目录,改之前登录显示的路径比如是 ~ ,改之后则是 /。

效果是像这样的。
注:我的本地用户(local user为yeshuai,home directory为/home/yeshuai)


root@ubuntu:~# ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.2)
Name (localhost:yeshuai): yeshuai

331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
'''257 "/"'''

看上边,正常情况下,输入pwd时,应该是显示/home/yeshuai.
由于我做了chroot.所以,/home/yeshuai变成 /

代码: 全选

chroot_local_user=YES
楼主是没明白这里的意思吧
这个代码的作用是,你ftp登录后的目录是/home/ftp ,但是客户端以为是/ 这样而已
并不是把你限制在/ (/home/ftp )下面不能访问子文件夹
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#33

帖子 243750496 » 2013-06-18 14:51

qy117121 写了:
限制所有
限制登录用户访问其他目录,改之前登录显示的路径比如是 ~ ,改之后则是 /。

效果是像这样的。
注:我的本地用户(local user为yeshuai,home directory为/home/yeshuai)


root@ubuntu:~# ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.2)
Name (localhost:yeshuai): yeshuai

331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
'''257 "/"'''

看上边,正常情况下,输入pwd时,应该是显示/home/yeshuai.
由于我做了chroot.所以,/home/yeshuai变成 /

代码: 全选

chroot_local_user=YES
楼主是没明白这里的意思吧
这个代码的作用是,你ftp登录后的目录是/home/ftp ,但是客户端以为是/ 这样而已
并不是把你限制在/ (/home/ftp )下面不能访问子文件夹
/=根目录 此根目录=ftp服务器根目录!=ubuntu根目录 是这个意思不
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#34

帖子 qy117121 » 2013-06-18 14:53

深度截图20130618144151.png
地址显示 /home/lengxx

取消注释后 显示错误

代码: 全选

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
chmod 555 登录的用户目录解决,测试完我就改回来了,XD
深度截图20130618145318.png
深度截图20130618145318.png (4.65 KiB) 查看 2219 次
地址显示 /
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#35

帖子 qy117121 » 2013-06-18 14:55

243750496 写了: /=根目录 此根目录=ftp服务器根目录!=ubuntu根目录 是这个意思不
是的

让客户端以为是/ 实际上可以是任意一目录,
比如 http://forum.ubuntu.org.cn/ftp://127.0.0.1/ ) 这个是/
但并不是服务器上的 /
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#36

帖子 243750496 » 2013-06-18 15:00

qy117121 写了:
243750496 写了: /=根目录 此根目录=ftp服务器根目录!=ubuntu根目录 是这个意思不
是的

让客户端以为是/ 实际上可以是任意一目录,
比如 http://forum.ubuntu.org.cn/ftp://127.0.0.1/ ) 这个是/
但并不是服务器上的 /
那这个/有什么意义么 我能从这个/里获得啥信息呢 ?
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#37

帖子 243750496 » 2013-06-18 15:05

2.匿名用户的根目录不允许写(为什么?匿名用户根目录是啥),所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。 啥意思?
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#38

帖子 qy117121 » 2013-06-18 15:10

好了,19楼问题解决,至于18楼,叶大说的很清楚了
可是这两句话还是不懂1.匿名用户就是ftp,想要匿名用户写入,必须文件夹的权限为ftp可写。

2.匿名用户的根目录不允许写,所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。
后两句
所以解决方法是建个单独的public文件夹用于上传文件,设置其为ftp可写或”其他用户可写“

还可建个download文件夹只用于下载,设置其他用户没有写权限便可。
倒是懂了 可是代码分别是几呢???

求神解答前两句的意思 和提供后两句的数字代码 人类谢过了
/srv/ftp 这个匿名用户根目录 ftp 是不可以有写权限的,如果你想让匿名用户可以上传修改的话,可以在/srv/ftp/下面建立一个文件夹,属主为ftp,这样就可以了,如果不想这样的话,建议你换ftp软件吧

代码: 全选

ls -l /home
总用量 8
drwxr-xr-x  3 lengxx root   4096  6月 18 11:20 ftp
drwxr-xr-x 61 lengxx lengxx 4096  6月 18 12:35 lengxx
/home/ftp 是我为ftp用户设置的家目录,属主设置为了lengxx
这样ftp用户对 匿名用户的根目录 (在这里是/home/ftp ) 当然也就不可写
所以解决方法是建个单独的public文件夹用于上传文件,设置其为ftp可写或”其他用户可写“
我这里是123文件夹

代码: 全选

$ ls -l /home/ftp/
总用量 4
drwxr-wxr-wxr 2 ftp root 4096  6月 18 15:06 123
/home/ftp/123 这个目录的权限是 777 属主是ftp,有写权限,匿名可以上传
还可建个download文件夹只用于下载,设置其他用户没有写权限便可
$ sudo mkdir /home/ftp/download
¥ ls -l /home/ftp
总用量 8
drwxr-xr-x 2 ftp root 4096 6月 18 15:06 123
drwxr-xr-x 2 root root 4096 6月 18 15:08 download
download目录,属主不为ftp,ftp用户当然也就没有写的权限,
当然把download的属主改为别的也是可以的
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#39

帖子 qy117121 » 2013-06-18 15:12

243750496 写了:
qy117121 写了:
243750496 写了: /=根目录 此根目录=ftp服务器根目录!=ubuntu根目录 是这个意思不
是的

让客户端以为是/ 实际上可以是任意一目录,
比如 http://forum.ubuntu.org.cn/ftp://127.0.0.1/ ) 这个是/
但并不是服务器上的 /
那这个/有什么意义么 我能从这个/里获得啥信息呢 ?
不能获取什么信息吧,不过如果不为/的话,不是太安全,
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#40

帖子 qy117121 » 2013-06-18 15:14

243750496 写了:2.匿名用户的根目录不允许写(为什么?匿名用户根目录是啥),所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。 啥意思?
匿名用户根目录这个,也就是ftp用户的家目录了
安装好vsftpd后,默认的ftp用户的家目录是/srv/ftp 查看下/etc/passwd你就明白了

代码: 全选

cat /etc/passwd
以上省略掉
lengxx:x:1000:1000:冷轩信:/home/lengxx:/bin/bash
mysql:x:115:126:MySQL Server,,,:/nonexistent:/bin/false
ftp:x:116:127:ftp daemon,,,:/home/ftp:/bin/false
我把ftp用户家目录修改为了/home/ftp

后半句话, ftp用户的家目录,一定不要让ftp用户和其他用户有写权限,(如果属主为ftp的话),
当然属主不是ftp就行了其实,

默认情况下ftp用户和其他用户一般不会有写权限的,除非是你加的 :em04
linux权限相关什么的你可以找资料看下
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#41

帖子 qy117121 » 2013-06-18 15:19

唉,不太会解答说明问题,那么点事我说了那么多费话 :em06
继续去看团子大家族去 :em01
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#42

帖子 243750496 » 2013-06-18 15:24

2.匿名用户的根目录不允许写(如果我chmod 777呢不就可写了???),所以根目录的权限绝对不能是ftp可写和其他用户可写,
以下啥意思?我(ftp)是所有者那所有者ftp为什么不能写?
|->如果根目录所有者为ftp的话,所有者的权限也不能写。<-|
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#43

帖子 243750496 » 2013-06-18 15:26

qy117121 写了:
243750496 写了:
qy117121 写了:
243750496 写了: /=根目录 此根目录=ftp服务器根目录!=ubuntu根目录 是这个意思不
是的

让客户端以为是/ 实际上可以是任意一目录,
比如 http://forum.ubuntu.org.cn/ftp://127.0.0.1/ ) 这个是/
但并不是服务器上的 /
那这个/有什么意义么 我能从这个/里获得啥信息呢 ?
不能获取什么信息吧,不过如果不为/的话,不是太安全,
不过如果不为/的话,不是太安全
有啥不安全? 你限制不限置不都是一个目录????
243750496
帖子: 1038
注册时间: 2012-06-09 15:40

Re: wiki上的vsftp教程有一点不懂求解释

#44

帖子 243750496 » 2013-06-18 15:30

qy117121 写了:
243750496 写了:2.匿名用户的根目录不允许写(为什么?匿名用户根目录是啥),所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。 啥意思?
匿名用户根目录这个,也就是ftp用户的家目录了
安装好vsftpd后,默认的ftp用户的家目录是/srv/ftp 查看下/etc/passwd你就明白了

代码: 全选

cat /etc/passwd
以上省略掉
lengxx:x:1000:1000:冷轩信:/home/lengxx:/bin/bash
mysql:x:115:126:MySQL Server,,,:/nonexistent:/bin/false
ftp:x:116:127:ftp daemon,,,:/home/ftp:/bin/false
我把ftp用户家目录修改为了/home/ftp

后半句话, ftp用户的家目录,一定不要让ftp用户和其他用户有写权限,(如果属主为ftp的话),
当然属主不是ftp就行了其实,

默认情况下ftp用户和其他用户一般不会有写权限的,除非是你加的 :em04
linux权限相关什么的你可以找资料看下
cc@thinkpad:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
messagebus:x:102:105::/var/run/dbus:/bin/false
avahi-autoipd:x:103:106:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
usbmux:x:104:46:usbmux daemon,,,:/home/usbmux:/bin/false
dnsmasq:x:105:65534:dnsmasq,,,:/var/lib/misc:/bin/false
whoopsie:x:106:110::/nonexistent:/bin/false
kernoops:x:107:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
rtkit:x:108:114:RealtimeKit,,,:/proc:/bin/false
speech-dispatcher:x:109:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
lightdm:x:110:116:Light Display Manager:/var/lib/lightdm:/bin/false
avahi:x:111:118:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
colord:x:112:120:colord colour management daemon,,,:/var/lib/colord:/bin/false
pulse:x:113:121:PulseAudio daemon,,,:/var/run/pulse:/bin/false
hplip:x:114:7:HPLIP system user,,,:/var/run/hplip:/bin/false
saned:x:115:123::/home/saned:/bin/false
cc:x:1000:1000:XX XX,,,:/home/cc:/bin/bash
a:x:1001:1003::/home/a:/bin/sh
b:x:1002:1004::/home/b:/bin/sh
ftp:x:1003:1005::/var/ftp:/bin/sh
这个你能看出目录在哪???
头像
qy117121
论坛版主
帖子: 50586
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: wiki上的vsftp教程有一点不懂求解释

#45

帖子 qy117121 » 2013-06-18 15:50

ftp:x:1003:1005::/var/ftp:/bin/sh
你的ftp匿名用户的根目录
2.匿名用户的根目录不允许写(如果我chmod 777呢不就可写了???),所以根目录的权限绝对不能是ftp可写和其他用户可写,
以下啥意思?我(ftp)是所有者那所有者ftp为什么不能写?
|->如果根目录所有者为ftp的话,所有者的权限也不能写。<-|
就是说了不能执行777啊,你执行了777也就登录不上了啊

以下啥意思?我(ftp)是所有者那所有者ftp为什么不能写?
这个嘛,就是这样设计的,匿名用户根目录ftp和其他用户不能有写权限
至于为什么这样,我不知道


|->如果根目录所有者为ftp的话,所有者的权限也不能写。<-|
就是说的不要为匿名用户根目录设置写权限,子目录可以有写权限
根目录不能有写权限,不能不能
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
回复