linux的指定ftp访问目录

2010-09-23 22:26:00 sduzhijian 阅读数 6591
  • Linux指令_切换目录命令

    1.Jeesite 4.0介绍与安装、 2.jeesite4.0 Eclipse 常用快捷键、 3.jeesite4.0文件结构与配置、 4.jeeiste4.0 内置模块与内置组件应用、 5.jeesite4.0代码生成器的应用、 6.jeesite4.0 Spring Boot快速入门、 7....

    224人学习 陈贺群
    免费试看

http://hi.baidu.com/xdh2571/blog/item/9031c8fa186752d3b48f310f.html

 

linux创建ftp用户以及指定目录问题
2010年07月20日 星期二 10:56

创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571

#useradd -G ftp -d /MyWeb -M xdh2571
#passwd xdh2571

#chown xdh2571.ftp /MyWeb -R
#chmod 750 /MyWeb -R
#service vsftpd start

测试是否能登陆ftp

#ftp localhost
输入刚创建的用户名密码,如若登陆失败,解决以下问题:

1、查看MyWeb的权限
#ls -l
要保证MyWeb的权限至少是 root xdh2571
若两个都是root,则修改如下:
#chown -R root:xdh2571 MyWeb

2、有关SELinux
我的系统是:Red Hat Enterprise Linux 5
系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans --> off
或者
ftp_home_dir-->off

解决方法:
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on

//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart

有关selinux的配置

如关闭,仅仅警告,强制等等 需要编辑/etc/sysconfig/selinux 默认是强制

/***************************************************以下为相关知识点********************************************************/

查看当前SELinux设置和状态

  • sestatus命令
    # 当前SELinux开启设为启动,permissive模式,在当前状态下,可以使用setenforce 1改变为enforcing模式
        [root@CentOS5 ~]# sestatus
        SELinux status:                 enabled
        SELinuxfs mount:                /selinux
        Current mode:                   permissive
        Mode from config file:          disabled
        Policy version:                 21
        Policy from config file:        targeted
  • 上面的输出是CentOS5中的,这里说明一下,sestatus这个命令在CentOS4/RHEL4(policycoreutils-1.18)和CentOS5/RHEL5(policycoreutils-1.33)中的默认输出不一样,在旧版本中,默认会同时输出详细的规则布尔值,而在新版本中默认不输出,使用-b开关可以打印这些布尔值,下面是旧版本(policycoreutils-1.18)中的输出样例
  • [root@CentOS4 ~]# sestatus使用getenforce也可以查看当前状态
  • 设置和修改SELinux状态
  • setenforce
    setenforce 1 # 设定selinux模式为enforcing
        setenforce 0 # 设定selinux模式为permissive
        # 注:当前SElinux为Disabled状态时,setenforce会执行失败,并警告:"setenforce: SELinux is disabled"
    修改/etc/sysconfig/selinux:这个文件决定了系统启动时是否启用SELinux以及启动的模式

2019-05-19 20:49:59 iT__SuperMan 阅读数 5750
  • Linux指令_切换目录命令

    1.Jeesite 4.0介绍与安装、 2.jeesite4.0 Eclipse 常用快捷键、 3.jeesite4.0文件结构与配置、 4.jeeiste4.0 内置模块与内置组件应用、 5.jeesite4.0代码生成器的应用、 6.jeesite4.0 Spring Boot快速入门、 7....

    224人学习 陈贺群
    免费试看

1.简单FTP构建及访问
问题
本案例要求先快速搭建好一台FTP服务器,并创建相关测试文件:
建立下载测试文件 /var/ftp/pub/anon.txt
建立下载测试文件 ~lisi/lisi.txt
然后验证以不同方式从客户机访问此FTP服务器:
从浏览器访问,测试匿名/用户登录
以ftp命令访问,分别测试匿名/用户验证访问的下载和上传操作
使用wget命令下载测试文件
方案
使用2台RHEL6虚拟机,其中一台作为vsftpd服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.205),如图-1所示。
在这里插入图片描述
图-1
在RHEL6系统中,vsftpd软件包默认已提供FTP服务的基本配置,因此只要装好vsftpd包并启动对应的服务,一台FTP服务器就搭建好了。默认的vsftpd服务具备一台标准FTP服务器的能力,服务功能和特点如表-1所示。
表-1 默认vsftpd配置的功能和特点
访问类型 下载/上传权限 FTP起始目录 是否禁锢 其他
匿名 允许/禁止 /var/ftp/ 是 基于安全考虑,root、bin等系统用户默认被阻止登录
本地用户 允许/允许 ~用户名/ 否
需要访问FTP服务端提供的资源时,可以使用专门的FTP客户端/管理工具(FTP命令程序、Filezilla图形工具),也可以使用Web浏览器、下载工具(比如wget)等支持FTP协议的通用软件。
定位匿名访问FTP资源的地址形式如下:
ftp://服务器地址/,对应服务器上的 /var/ftp/ 目录
ftp://服务器地址/path/to/file,对应服务器上的 /var/ftp/path/to/file 文件
对于要求登录验证才能访问的FTP资源,可以在地址中指定用户名、密码信息:
ftp://user:pass@服务器地址/,对应服务器上的用户家目录 ~user/
ftp://user:pass@服务器地址/path/to/file,对应服务器上的 ~user/path/to/file 文件
步骤
实现此案例需要按照如下步骤进行。
步骤一:构建vsftpd服务器
1)使用yum安装vsftpd软件包
[root@svr5 ~]# yum -y install vsftpd
… …
[root@svr5 ~]# rpm -q vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64
2)启用vsftpd服务,并设为开机自动运行
[root@svr5 ~]# service vsftpd restart ; chkconfig vsftpd on
关闭 vsftpd: [失败]
为 vsftpd 启动 vsftpd: [确定]
vsftpd服务默认通过TCP 21端口监听客户端请求:
[root@svr5 ~]# netstat -anptu | grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 64869/vsftpd
3)为FTP访问建立测试文件
在匿名FTP起始目录/var/ftp/下默认有一个pub/子目录(用来提供开放资源),在此目录下建立一个名为anon.txt的文件:
[root@svr5 ~]# cat /var/ftp/pub/anon.txt
Anonymous Test
新建用户lisi并设好密码(如1234567),此用户即可作为FTP用户使用,在lisi的家目录下建立一个名为lisi.txt的文件,内容随意:
[root@svr5 ~]# useradd lisi
[root@svr5 ~]# echo 1234567 | passwd --stdin lisi
更改用户 lisi 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

[root@svr5 ~]# vim ~lisi/lisi.txt
Local User Test
步骤二:从客户机访问FTP服务器
1)从Web浏览器访问FTP服务
以Firefox浏览器为例,只要在地址栏内输入 ftp://192.168.4.5,回车后即连接目标主机192.168.4.5的FTP服务,默认以匿名的方式验证。若访问成功,将会以网页形式列出FTP服务器上匿名FTP起始目录下的资源,如图-2所示。
在这里插入图片描述
图-2
单击相应的超链接即可进入指定的目录,或者打开/下载指定的文件,如图-3所示。
在这里插入图片描述
图-3
若要访问用户验证的FTP资源,则需要指定正确的用户信息即可。比如在地址栏内输入网址 ftp://lisi@192.168.4.5/ 或者 ftp://lisi:1234567@192.168.4.5/ 都能够成功访问本例中的FTP服务器,浏览服(前者会弹窗验证密码)务器上用户lisi的家目录,如图-4所示。
在这里插入图片描述
图-4
当输入的是带远程文件路径的完整FTP地址时,比如 ftp://lisi:1234567@192.168.4.5/lisi.txt,则可以直接打开目标文件(对于浏览器不支持的文件类型,会弹窗提示下载),如图-5所示。
在这里插入图片描述
图-5
2)使用ftp命令访问FTP服务
通常大多数Linux系统都自带ftp工具,如果没有也可以通过Yum手动安装。
[root@pc205 ~]# ftp
-bash: ftp: command not found
[root@pc205 ~]# yum -y install ftp
… …
指定目标服务器的地址作为参数,ftp命令将会发起FTP连接,若成功连接则根据提示依次验证用户名、密码即可。对于匿名FTP访问,使用ftp或anonymous作为用户名,密码任意;对于用户验证的FTP访问,应以确切的用户名和密码验证。
匿名登录FTP服务器,验证下载(允许)、上传(拒绝)操作:
[root@pc205 ~]# ftp 192.168.4.5 //连接FTP服务器
Connected to 192.168.4.5 (192.168.4.5).
220 (vsFTPd 2.2.2)
Name (192.168.4.5:root): ftp //匿名用户 ftp
331 Please specify the password.
Password: //任意密码,或直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls //查看FTP起始目录
227 Entering Passive Mode (192,168,4,5,63,132).
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Jan 13 07:26 pub
226 Directory send OK.
ftp> cd pub //切换到pub子目录
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,4,5,121,122).
150 Here comes the directory listing.
-rw-r–r-- 1 0 0 15 Jan 13 06:59 anon.txt
226 Directory send OK.
ftp> get anon.txt //测试下载文件
local: anon.txt remote: anon.txt
227 Entering Passive Mode (192,168,4,5,127,108).
150 Opening BINARY mode data connection for anon.txt (15 bytes).
226 Transfer complete. //提示成功
15 bytes received in 3.9e-05 secs (384.62 Kbytes/sec)
ftp> put install.log //测试上传文件
local: install.log remote: install.log
227 Entering Passive Mode (192,168,4,5,86,164).
550 Permission denied. //提示被拒绝
ftp> bye //bye断开FTP连接
221 Goodbye.
[root@pc205 ~]# cat anon.txt //确认下载结果
Anonymous Test
以用户lisi登录FTP服务器,验证下载(允许)、上传(允许)操作:
[root@pc205 ~]# ftp 192.168.4.5 //连接FTP服务器
Connected to 192.168.4.5 (192.168.4.5).
220 (vsFTPd 2.2.2)
Name (192.168.4.5:root): lisi //服务器本地用户 lisi
331 Please specify the password.
Password: //输入正确口令
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls //查看起始目录
227 Entering Passive Mode (192,168,4,5,250,165).
150 Here comes the directory listing.
-rw-r–r-- 1 0 0 16 Jan 13 07:01 lisi.txt
226 Directory send OK.
ftp> get lisi.txt //测试下载文件
local: lisi.txt remote: lisi.txt
227 Entering Passive Mode (192,168,4,5,171,31).
150 Opening BINARY mode data connection for lisi.txt (16 bytes).
226 Transfer complete. //提示成功
16 bytes received in 4.8e-05 secs (333.33 Kbytes/sec)
ftp> put install.log //测试上传文件
local: install.log remote: install.log
227 Entering Passive Mode (192,168,4,5,83,26).
150 Ok to send data.
226 Transfer complete. //提示成功
47884 bytes sent in 0.101 secs (473.44 Kbytes/sec)
ftp> ls //确认上传结果
227 Entering Passive Mode (192,168,4,5,29,68).
150 Here comes the directory listing.
-rw-r–r-- 1 507 508 47884 Jan 13 08:01 install.log
-rw-r–r-- 1 0 0 16 Jan 13 07:01 lisi.txt
226 Directory send OK.
ftp> quit //quit也可断开FTP连接
221 Goodbye.
[root@pc205 ~]# cat lisi.txt //确认下载结果
Local User Test
3)使用wget命令工具下载FTP资源
下载服务器上的 /var/ftp/pub/anon.txt 文件:
[root@pc205 ~]# rm -rf anon.txt //删除原有文件,避免干扰
[root@pc205 ~]# wget ftp://192.168.4.5/pub/anon.txt //匿名下载
–2015-01-13 16:10:31-- ftp://192.168.4.5/pub/anon.txt
=> “anon.txt”
正在连接 192.168.4.5:21… 已连接。
正在以 anonymous 登录 … 登录成功!
==> SYST … 完成。 ==> PWD … 完成。
==> TYPE I … 完成。 ==> CWD (1) /pub … 完成。
==> SIZE anon.txt … 15
==> PASV … 完成。 ==> RETR anon.txt … 完成。
长度:15 (非正式数据)

100%[=============================================================>] 15 --.-K/s in 0s

2015-01-13 16:10:31 (1.13 MB/s) - “anon.txt” 已保存 [15]

[root@pc205 ~]# cat anon.txt //确认下载结果
Anonymous Test
下载服务器上的 ~lisi/lisi.txt 文件:
[root@pc205 ~]# rm -rf lisi.txt //删除原有文件,避免干扰
[root@pc205 ~]# wget ftp://lisi:1234567@192.168.4.5/lisi.txt //用户验证下载
–2015-01-13 16:12:01-- ftp://lisi:password@192.168.4.5/lisi.txt
=> “lisi.txt”
正在连接 192.168.4.5:21… 已连接。
正在以 lisi 登录 … 登录成功!
==> SYST … 完成。 ==> PWD … 完成。
==> TYPE I … 完成。 ==> 不需要 CWD。
==> SIZE lisi.txt … 16
==> PASV … 完成。 ==> RETR lisi.txt … 完成。
长度:16 (非正式数据)

100%[=============================================================>] 16 --.-K/s in 0.001s

2015-01-13 16:12:01 (21.4 KB/s) - “lisi.txt” 已保存 [16]

[root@pc205 ~]# cat lisi.txt //确认下载结果

2018-07-09 12:06:34 caihuashen 阅读数 19667
  • Linux指令_切换目录命令

    1.Jeesite 4.0介绍与安装、 2.jeesite4.0 Eclipse 常用快捷键、 3.jeesite4.0文件结构与配置、 4.jeeiste4.0 内置模块与内置组件应用、 5.jeesite4.0代码生成器的应用、 6.jeesite4.0 Spring Boot快速入门、 7....

    224人学习 陈贺群
    免费试看

需求:被限制用户名为jiahongjun。被限制路径为/bigdata/DataFrom400/tuoMin。用户登录后的根目录为root下的/bigdata/DataFrom400/tuoMin。

1、环境:ftp为vsftp。没有要先安装vsftpd。自行百度。

2、新建用户:在root用户下:

useradd -d /bigdata/DataFrom400/tuoMin jiahongjun

//增加用户jiahongjun,并制定jiahongjun用户的主目录为/bigdata/DataFrom400/tuoMin

passwd jiahongjun

//为jiahongjun设置密码

 

3、更改用户相应的权限设置:
usermod -s /sbin/nologin jiahongjun

//限定用户jiahongjun不能telnet,只能ftp

usermod -s /sbin/bash test 

//用户test恢复正常,可以telnet

usermod -d /test test 

//更改用户test的主目录为/test,这个需要的时候才执行,你要更换目录 

 

4、限制用户只能访问/bigdata/DataFrom400/tuoMin,不能访问其他路径

修改/etc/vsftpd/vsftpd.conf如下:

chroot_list_enable=YES         //限制访问自身目录

# (default follows)

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

 

cd /etc/vsftpd
 vim vuser.list
 第一行用户名,第二行密码
 db_load -T -t hash -f vuser.list vuser.db
 chmod 600 vuser.db

vi /etc/vsftpd/chroot_list    //把用户名加进去 ,每个用户名一行

cd vusers_dir/

vi jiahongjun 

//内容如下,设置路径及权限

local_root=/bigdata/DataFrom400/tuoMin
#local_root=/bigdata/ftp/beijing
virtual_use_local_privs=YES
guest_username=jiahongjun
download_enable=YES
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

 

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

service vsftpd restart

centOS 7重启的命令是:

systemctl restart vsftpd

2018-02-11 10:36:38 qq_34944535 阅读数 6732
  • Linux指令_切换目录命令

    1.Jeesite 4.0介绍与安装、 2.jeesite4.0 Eclipse 常用快捷键、 3.jeesite4.0文件结构与配置、 4.jeeiste4.0 内置模块与内置组件应用、 5.jeesite4.0代码生成器的应用、 6.jeesite4.0 Spring Boot快速入门、 7....

    224人学习 陈贺群
    免费试看

Linux添加FTP用户并设置权限

 
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
 
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
2、建用户:在root用户下:
useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码
 
3、更改用户相应的权限设置:
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test
 
4、限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:  www.2cto.com  
chroot_list_enable=YES         //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart

5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面
2017-01-20 21:45:03 muaxi8 阅读数 22565
  • Linux指令_切换目录命令

    1.Jeesite 4.0介绍与安装、 2.jeesite4.0 Eclipse 常用快捷键、 3.jeesite4.0文件结构与配置、 4.jeeiste4.0 内置模块与内置组件应用、 5.jeesite4.0代码生成器的应用、 6.jeesite4.0 Spring Boot快速入门、 7....

    224人学习 陈贺群
    免费试看

假设你已经在linux上安装并配置好了vsftpd服务器,那么有时我们想让访问者只能特定目录下的文件怎么办呢?

别着急,看下面的设置,首先输入命令 

vim  /etc/vsftpd.conf"

打开配置文件,添加下面一条语句:

local_root=/home/xxx/xxx

保存后退出,并输入

service vsftpd restart

重启ftp服务器就可以了,此时你可通过在网页中输入ftp://192.168.xxx.xxx(这里输入你的服务器ip地址)  验证之。