vsftpd学习笔记二
来源:互联网 发布:上古卷轴5原始捏脸数据 编辑:程序博客网 时间:2024/06/07 09:14
1. vsftpd配置文件/etc/vsftp.conf中的3选项的关系结构
(1)chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。
所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
(2)chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)中即可(一行一个用户名)
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
i.umask = 022 时,新建的目录 权限是755,文件的权限是 644
ii.umask = 077 时,新建的目录 权限是700,文件的权限时 600
vsftpd的local_umask和anon_umask借鉴了它
默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
a.如果使用vsftp的是本地用户
则要修改配置文件中的 local_umask 的值
b.如果使用vsftp的是虚拟用户
则要修改配置文件中的 anon_umask 的值
3 配置虚拟用户(进入/etc/vsftpd下操作)
(1) 建立虚拟用户口令库文件
# vim vusers.list (第一行写 用户名,第二行写 密码,保存退出)
user1
user1pwd
user2
user2pwd
(2) 生成vsftpd的认证文件
# db_load -T -t hash -f vusers.list /etc/vsftpd/vsftpd_login.db (生成认证文件)
# chmod 600 /etc/vsftpd/vsftpd_login.db (赋权)
(3) 建立虚拟用户所需的PAM配置文件
# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
(4) 建立虚拟用户要访问的目录并设置权限
# useradd -d /home/ftp -s /sbin/nologin virtual
# chmod 777 /home/ftp/
在 vsftpd.conf 添加以下参数配置项:
guest_enable=YES
guest_username=virtual
(5) 对不同虚拟用户设置不同权限
# mkdir /etc/vsftpd/vsftpd_user_conf
# vim /etc/vsftpd/vsftpd_user_conf/user1 (建立用户单独配置文件,文件名就是用户名)
local_root=/home/ftp/user1 #这里的虚拟用户目录可以根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限(上传、下载、删除、重命名)
在 vsftpd.conf 添加以下参数配置项:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
6. 禁锢FTP用户在宿主目录
将需要禁锢的用户名写入“vsftpd.chroot_list”文件
# vim /etc/vsftpd.chroot_list
user1
user2
在 vsftpd.conf 添加以下参数配置项:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
(1)chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。
所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
(2)chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)中即可(一行一个用户名)
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
i.umask = 022 时,新建的目录 权限是755,文件的权限是 644
ii.umask = 077 时,新建的目录 权限是700,文件的权限时 600
vsftpd的local_umask和anon_umask借鉴了它
默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
a.如果使用vsftp的是本地用户
则要修改配置文件中的 local_umask 的值
b.如果使用vsftp的是虚拟用户
则要修改配置文件中的 anon_umask 的值
3 配置虚拟用户(进入/etc/vsftpd下操作)
(1) 建立虚拟用户口令库文件
# vim vusers.list (第一行写 用户名,第二行写 密码,保存退出)
user1
user1pwd
user2
user2pwd
(2) 生成vsftpd的认证文件
# db_load -T -t hash -f vusers.list /etc/vsftpd/vsftpd_login.db (生成认证文件)
# chmod 600 /etc/vsftpd/vsftpd_login.db (赋权)
(3) 建立虚拟用户所需的PAM配置文件
# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
(4) 建立虚拟用户要访问的目录并设置权限
# useradd -d /home/ftp -s /sbin/nologin virtual
# chmod 777 /home/ftp/
在 vsftpd.conf 添加以下参数配置项:
guest_enable=YES
guest_username=virtual
(5) 对不同虚拟用户设置不同权限
# mkdir /etc/vsftpd/vsftpd_user_conf
# vim /etc/vsftpd/vsftpd_user_conf/user1 (建立用户单独配置文件,文件名就是用户名)
local_root=/home/ftp/user1 #这里的虚拟用户目录可以根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限(上传、下载、删除、重命名)
在 vsftpd.conf 添加以下参数配置项:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
6. 禁锢FTP用户在宿主目录
将需要禁锢的用户名写入“vsftpd.chroot_list”文件
# vim /etc/vsftpd.chroot_list
user1
user2
在 vsftpd.conf 添加以下参数配置项:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
0 0
- vsftpd学习笔记二
- vsftpd学习笔记
- vsftpd学习笔记
- RedHatLinux6.0学习笔记 vsftpd
- FreeBSD学习笔记之vsftpd服务配置
- Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd
- Ubuntu操作系统学习笔记之vsftpd的安装
- vsftpd安装笔记
- vsftpd安装笔记
- vsftpd配置笔记
- 快速搭建vsftpd笔记
- vsftpd 配置笔记
- 有关vsftpd的笔记
- Linux vsftpd移植笔记
- centos vsftpd 创建 笔记
- JDBC学习笔记(二)
- JDBC学习笔记(二)
- CSS学习笔记二
- linux下编译新内核,解决无法找到eth0设备问题,安装eth0网卡驱动
- geohash算法原理及实现方式
- 最长上升子序列nlogn算法
- 我理解的SharedPreferences
- MySQL中InnoDB和MyISAM两种表类型的区别
- vsftpd学习笔记二
- 关于未来规划
- LeetCode:Intersection of Two Linked Lists
- make的使用和Makefile的编写1
- C++中new与delete的用法
- 使用渐进式JPEG来提升用户体验
- GeoHash核心原理解析
- QuickSort 和 QuickSelection中partition注记
- 机器学习中的范数规则化之(一)L0、L1与L2范数