linux 下安装vsftpd 和设置上传权限,适用于VPS等场合
2014-02-24 15:45
417 查看
自己临时测试使用,目的 上传网页文件到apache的网页目录,具有执行和写入权限,看到其他文章写的怎么怎么配置vsftpd,对于初学者一般配置都是为了上传网页到服务器,那简单的配置越快越好,开始测试代码
PS:本人喜欢折腾VPS之类的,都是喜欢最新的配置环境。
测试环境 centos 2.6.32-431.el6.x86_64 版本
先配置本地yum源:如果不知道怎么配置本地源,请猛点这里!
安装软件:
安装vsftp客户端 [root@localhost sv005-mongodb]# yum install ftp
安装vsftpd服务端 [root@localhost sv005-mongodb]# yum install vsftpd
网站路径
本地apache默认目录是 /usr/local/apache2/htdocs
配置ftp
先确认下安装上了没,可以使用
[root@localhost sv005-mongodb]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
或者使用命令
[root@localhost sv005-mongodb]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
设置vsftpd自动启动
[root@localhost sv005-mongodb]# chkconfig --level 345 vsftpd on
[root@localhost sv005-mongodb]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
现在修改配置文件
备份一份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
修改配置文件vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
例如找 找到相关参数 anonymous_enable 配置项 可以在vi命令行模式下输入
/anonymous_enable
按一次回车,如果继续查询相同的可以按键盘 N按键
下面的参数修改
anonymous_enable=NO
local_umask=000
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
保存后重新启动
增加一个vsftp的本地用户 w1
useradd -n -d /usr/local/apache2/htdocs -g root -M -s /sbin/nologin w1
useradd命令的常用选项如下:
-c comment:用户全名或描述。
-d home-dir:指定用户主目录。
-e date:禁用账户的日期,格式为:YYYY-MM-DD。
-f days:口令过期后,账户禁用前的天数。
-g group-name:用户所属主组群的组群名称或GID。
-G group-list:用户所属的附属组群列表,多个项目用逗号分隔。
-m:若主目录不存在则创建它。
-M:不创建用户主目录。
-n:不要为用户创建用户私人组群。
-r:创建UID小于500的不带主目录的系统账户。
-p:加密的口令。
-s:指定用户登录 Shell,默认为 /bin/bash。
-u UID:指定用户的 UID,它必须是唯一的,且大于499。
配置文件/etc/vsftpd/chroot_list
vi /etc/vsftpd/chroot_list
增加一行 w1
保存就可以测试登录了
测试代码
<?php
$fp=fopen("tmp.txt","wb");
fwrite($fp,"testASDFSDF\r\n");
fclose($fp);
echo fread(fopen("tmp.txt","rb"),filesize("tmp.txt"));
?>
如果正常那么就输出了
testASDFSDF
然后检验下linux下面的权限
[root@localhost t1]# ll
-rw-rw-rw- 1 www1 root 461 Feb 24 07:51 T-4.php
上传是666权限,到此测试和检验完成
网页运行权限root
我们建立vsftp帐号的时候指定了用户组是root组
权限说明是 拥有者-用户组-其他
默认如果都是root的话只要700权限
如果vsftp上传那么用户是w1 用户组我们指定到root组
那么只要 770权限就可以运行起来php
如果还有其他写的权限,例如php要写入文件之类的
那就666
折中取权限是666 权限 vsftp的umask是000
自己虚拟用户测试成功,不过还是看人家现成的,都千篇一律,简单的会了,虚拟用户的配置可以尝试尝试
还有一个关于虚拟用户的配置http://www.cnblogs.com/xiongpq/p/3384759.html
PS:本人喜欢折腾VPS之类的,都是喜欢最新的配置环境。
测试环境 centos 2.6.32-431.el6.x86_64 版本
先配置本地yum源:如果不知道怎么配置本地源,请猛点这里!
安装软件:
安装vsftp客户端 [root@localhost sv005-mongodb]# yum install ftp
安装vsftpd服务端 [root@localhost sv005-mongodb]# yum install vsftpd
网站路径
本地apache默认目录是 /usr/local/apache2/htdocs
配置ftp
先确认下安装上了没,可以使用
[root@localhost sv005-mongodb]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
或者使用命令
[root@localhost sv005-mongodb]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
设置vsftpd自动启动
[root@localhost sv005-mongodb]# chkconfig --level 345 vsftpd on
[root@localhost sv005-mongodb]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
现在修改配置文件
备份一份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
修改配置文件vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
例如找 找到相关参数 anonymous_enable 配置项 可以在vi命令行模式下输入
/anonymous_enable
按一次回车,如果继续查询相同的可以按键盘 N按键
下面的参数修改
anonymous_enable=NO
local_umask=000
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
保存后重新启动
增加一个vsftp的本地用户 w1
useradd -n -d /usr/local/apache2/htdocs -g root -M -s /sbin/nologin w1
useradd命令的常用选项如下:
-c comment:用户全名或描述。
-d home-dir:指定用户主目录。
-e date:禁用账户的日期,格式为:YYYY-MM-DD。
-f days:口令过期后,账户禁用前的天数。
-g group-name:用户所属主组群的组群名称或GID。
-G group-list:用户所属的附属组群列表,多个项目用逗号分隔。
-m:若主目录不存在则创建它。
-M:不创建用户主目录。
-n:不要为用户创建用户私人组群。
-r:创建UID小于500的不带主目录的系统账户。
-p:加密的口令。
-s:指定用户登录 Shell,默认为 /bin/bash。
-u UID:指定用户的 UID,它必须是唯一的,且大于499。
配置文件/etc/vsftpd/chroot_list
vi /etc/vsftpd/chroot_list
增加一行 w1
保存就可以测试登录了
测试代码
<?php
$fp=fopen("tmp.txt","wb");
fwrite($fp,"testASDFSDF\r\n");
fclose($fp);
echo fread(fopen("tmp.txt","rb"),filesize("tmp.txt"));
?>
如果正常那么就输出了
testASDFSDF
然后检验下linux下面的权限
[root@localhost t1]# ll
-rw-rw-rw- 1 www1 root 461 Feb 24 07:51 T-4.php
上传是666权限,到此测试和检验完成
网页运行权限root
我们建立vsftp帐号的时候指定了用户组是root组
权限说明是 拥有者-用户组-其他
默认如果都是root的话只要700权限
如果vsftp上传那么用户是w1 用户组我们指定到root组
那么只要 770权限就可以运行起来php
如果还有其他写的权限,例如php要写入文件之类的
那就666
折中取权限是666 权限 vsftp的umask是000
自己虚拟用户测试成功,不过还是看人家现成的,都千篇一律,简单的会了,虚拟用户的配置可以尝试尝试
还有一个关于虚拟用户的配置http://www.cnblogs.com/xiongpq/p/3384759.html
相关文章推荐
- linux 下安装vsftpd 和设置上传权限,适用于VPS等场合
- Linux-安装vsftp - 添加用户-设置用户权限/上传目录
- git在linux上的安装配置包括设置不同用户的权限
- linux安装mysql之设置远程访问权限
- linux安装部署mysql5.6及ip设置权限、密码修改
- linux vsftpd 文件上传服务安装
- linux安装mysql之设置远程访问权限
- linux下 ftp服务器如何设置上传文件的权限
- 网络安装linux时候,需要设置pxelinux.cfg 为777权限
- git在linux上的安装配置包括设置不同用户的权限
- Linux上的ftp服务器vsftpd之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传
- centos/linux安装discuz已经设置目录权限为777还是提示不可写
- linux下yum安装mysql并设置访问权限
- Linux 下 ftp 服务器 vsftpd 安装与简单配置 实现匿名上传下载
- linux下ftp(vsftpd)添加用户及设置权限详细步骤--(关于阿里云)
- Linux下Apache设置上传文件时候的默认权限(umask)
- linux安装mysql,设置远程访问权限
- 从Windows想Linux上传文件 Linux(CentOS) 上安装vsftpd
- LINUX CENTOS6.5 安装 SVN 以前权限的设置
- git在linux上的安装配置包括设置不同用户的权限