linux下vsftp服务器相关配置问题
最近需要在linux下写PHP程序实现ftp文件的上传和下载功能,需实现不同ftp用户登陆到各自目录下,并对其进行相关权限配置,经过
搜索,发现vsftpd使用比较广泛,决定采用vsftpd架设ftp服务器来进行测试。
安装比较简单,直接安装vsftpd及db4的rpm包即可,默认是支持匿名登陆方式的,考虑实际应用,肯定是不允许匿名登陆的,而采用linux系统用户的话安全性也会是一个不容忽视的问题,因此考虑采用虚拟用户的方式,创建一个虚拟用户组,同时采用pam认证的方式
进行密码验证,vsftpd.conf的相关配置网上比较多就不再做详细说明,下面就几个关键的步骤进行一下说明。
1.创建ftpd组用户
建立虚拟用户及所要访问的目录并设置相应权限
[root@mail ftp]# groupadd ftpd
[root@mail ftp]# mkdir /home/ftpd
[root@mail ftp]# useradd -g ftpd -d /home/ftpd/ -s /sbin/nologin -M ftpd
[root@mail ftp]# chmod 700 /home/ftpd/
[root@mail ftp]# chmod 700 /home/ftpd
[root@mail ftp]# chown ftpd.ftpd /home/ftpd
2.创建pam认证文件
首先写一个用户列表文本文件,其中奇数行为用户名,偶数名为密码
然后使用如下命令生成db格式文件并设置其访问权限
[root@mail ftp]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
[root@mail ftp]# chmod 600 /etc/vsftpd_login.db
下面一步是关键,我想很多人会遇到即使添加上ftp用户了,可不管如何登陆,vsftpd服务器密码总是验证失败的问题,我开始也是
在网上到处找寻也没找到,最后自己在不经意间测试成功了。
打开/etc/pam.d/vsftpd文件,把其中的认证行全部注释掉,然后添加下面两行认证信息:
auth required pam_userdb.so db=/etc/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd_login
3.配置虚拟用户权限
在ftp目录下新建各个用户的目录(目录名与用户列表文件中的用户名相同),并设置宿主为虚拟用户组(ftpd)
注意如果设置虚拟用户的话需在vsftpd.conf中添加:
guest_enable=YES
guest_username=beinan
chroot_local_user=YES
user_config_dir=/etc/vsftpd_user_conf
其中user_config_dir用于保存各虚拟用户的个人配置文件,文件名与用户名相同,下面一个配置格式:
#绑定用户目录
local_root=/home/ftpd/ftp_e-dfzd
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
一般注意以上几点即可再加上网络上的关于vsftpd
相关文档:
相关链接:
http://blog.csdn.net/dongliqiang2006/archive/2009/09/05/4523563.aspx
字符设备
1,字符设备层
在Linux中是作为一个文件来出现的,所有对字符设备的操作都是通过file_operations接口来进行的:
struct cdev {
struct kobject kobj;
struct module *owner;
const struct file_operations *op ......
vi编辑器是所有Unix及Linux系统下标准的编辑器
,
它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相
同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅 ......
umount 目录可以解除关联关系
必须先在客户端umount,然后在服务器端停止nfs服务,以及修改/etc/exports,否则的话会导致df -h无法关闭
原贴:http://linux.chinaunix.net/bbs/archiver/?tid-905711.html
2007-8-8 14:40 wzknet
手把手教你Linux系统下快速设置NFS
[color=Blue]一、NFS服务端设置(NFS服务端IP:10 ......
提示符通过变量PS1来设置,可以用以下命令来显示当前设置:
echo $PS1
提示符的系统范围(对系统里所有用户有效)的设定在文件 /etc/bashrc里,可能包含以下的行:
PS=“[\u@\h \W]\$"
要定制提示符,我们可以编辑文件 /etc/bashrc (root用户)然后在两个引号之内输入任何你想要的文本。
将[\u@\h \W]\\$修改为[ ......