ftp将用户限制在自己目录下的方法
本文出自:http://www.sczg.com/ 作者:zhiwenc (2001-06-26 13:04:00)
在此举两例,RedHat6.0和FreeBSD2.2.7
---------------------------------------------------------------------
例一 系统是REDHAT6.0,使用wuftp 用户名为:testuser 另外前提是你已经建了anonymous ftp server,这通常装好系统就有了。
1 创建一个组,用groupadd命令,一般可以就用ftp组,或者任何组名.
-----相关命令: groupadd ftpuser
-----相关文件: /etc/group
-----相关帮助: man groupadd
2 创建一个用户,如testuser,建立用户可用adduser命令.如果你已在先前建立了testuser这个用户,可以直接编辑/etc/passwd文件,把这个用户加入到 ftpuser这个组中.
-----相关命令: adduser testuser -g ftpuser
-----相关文件: /etc/passwd
-----相关帮助: man adduser
3 修改/etc/ftpaccess文件,加入guestgroup的定义:
guestgroup ftpuser
我是这样改的,加的是最后5行
compress yes all
tar yes all
chmod no anonymous
delete no anonymous
overwrite no anonymous
rename no anonymous
chmod yes guest
delete yes guest
overwrite yes guest
rename yes guest
guestgroup ftpuser
除了加 guestgroup ftpuser 这行,其他4行也要加上,否则用户登陆后,虽然 可以达到用户不能返回上级目录的目的,但是却只能上传,不能覆盖、删除文件!
-----相关命令: vi /etc/ftpaccess
-----相关文件: /etc/ftpaccess
-----相关帮助: man ftpaccess,man chroot
4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /home/ftp/下的bin,lib两个目录拷贝到这个用户的根目录下,因为一些命令(主要是ls)需要Lib支持,否则不能列目录和文件.
-----相关命令: cp -rf /home/ftp/lib /home/testuser;cp -rf /home/ftp/bin /home/testuse r
5 另外可别忘了关掉用户的telnet权,否则就白做了噢. 怎么不让用户telnet呢?很简单:
在/etc/shells里加一行/dev/null ,然后可以直接编辑/etc/passwd文件, 把用户的shell设置为/dev/null就可以了.
-----相关命令: vi /etc/passwd
这一步可以在步骤2 创建一个用户时就先做好.
-----相关命令: adduser testuser -g ftpuser -s /dev/null
小经验:只要把/home/ftp下的bin和lib目录cp到/etc/skel目录里,以后新建用户都会自动把bin和lib目录CP到用户目录里,当然你也可以加上 public_html目录和cgi-bin目录. 有的资料说建用户的时候把设置的目录为如下格式:/ftp/./incoming ,我在REDHAT6.0中未做此设置,使用正常,其他版本我未试过. (详见man ftpaccuss) 是不是繁了点,也许你你使用其他FTP软件能更简单些,如proftpd
--------------------------------------------------------------------
例二
系统是FreeBSD2.2.7 用户名为:testuser 另外前提是你已经建了anonymous ftp server,这需要装系统时选择安装.
1 创建一个组,用/stand/sysinstall命令,在Configure的User Management 里可以加用户或组,这次我们建一个ftpuser,如果用户testuser还没有建立, 同样你可以用/stand/sysinstall命令建立,并且把他放入ftpuser组.
-----相关命令: /stand/sysinstall
-----相关文件: /etc/group
2 创建一个用户,如testuser,建立用户除/stand/sysinstall外,还有adduser 和pw命令.如果你已在先前建立了testuser这个用户, 则你需要用chsh命令来 把他把这个用户加入到ftpuser组,FreeBSD里直接编辑/etc/passwd文件是无效的.
-----相关命令:/stand/sysinstall
-----修改命令:chsh testuser
-----相关文件:/etc/passwd, /etc/master.passwd
-----相关帮助:man adduser, man pw
3 编辑一个/etc/ftpchroot文件,通常系统里可能没有这个文件,需要你新建,内容就一句,如下: @ftpuser 然后保存下来,ftpuser就是你需要chroot的组,你也可以加进其他组.
-----相关命令:vi /etc/ftpchroot
4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /var/ftp/下的bin目录拷贝到这个用户的根目录下,否则不能列目录和文件.
-----相关命令: cp -rf /var/ftp/bin /home/testuser
5 关掉用户的telnet权, 用命令:chsh testuser ,把用户的shell设置为 /sbin/nologin就可以了. 也可以象Redhat6.0里一样,在etc/shells里加一行/dev/null,把用户的shell设置为/dev/null,这一步可以在步骤2创建一个用户时就先做好.
小经验:把/var/ftp/bin目录cp到FreeBSD2.2.7的/usr/share/skel,以后就省事了.相关选项可在/etc/adduser.conf里修改.
以上是我在使用中的一些小经验,我看到问这个问题的人很多,就写了这篇小 短文,希望能给大家一些帮助,如果有不对的地方,还请指正.
分享到:
相关推荐
### FTP服务器中将用户限制在自己目录下的方法与配置 #### 概述 在FTP(File Transfer Protocol)服务器管理中,为了确保数据安全并避免非法访问,常常需要将用户限制在其自己的目录内进行操作。这样的做法可以...
本文将详细介绍如何限制用户使用 FTP 访问其他目录,确保用户只能访问自己的主目录。 首先,需要创建一个 FTP 用户组,并将用户添加到该组中。使用以下命令创建 FTP 用户组: # groupadd -g 101 ftpgroup 然后,...
同样,以 FTP02 登入,就进入了 FTP02 目录,用户被限制在自己的目录内不能进入他人目录,安全性还是有保障。 如果用户需要能自己更改密码,则只需要在创建用户的时候,不选中图 3 所示的选项即可。在客户端修改 ...
第一步:创建一个 ftp guest 组,用 groupadd 命令,也可以用 ftp 服务器创建的 ftp 组。 #less /etc/group //看看是否...第四步:向这个用户的 $HOME 目录下拷贝必要的文件,主要是与 ls 有关的。一般的 ls 要 Lib
这样,用户将被限制在其各自的主目录内。 测试配置: 1. 使用一个已配置的AD域用户,尝试通过FTP客户端或网页方式访问FTP服务器。确保用户只能看到和操作其自己的文件夹,不能访问其他用户的数据。 2. 对其他用户...
本文将详细介绍如何在 Windows Server 2012 R2 环境下配置基于 Active Directory (AD) 的 FTP 用户隔离。 #### 二、配置目标 1. **FTP 用户与域用户的统一管理**:确保 FTP 用户的账号和密码与 AD 中的账号密码保持...
### 新增加FTP用户方法 #### 一、创建FTP用户 在Linux系统中,可以通过`adduser`命令来创建一个新的FTP用户。此操作涉及到的关键参数包括: - `-d /opt/file`:指定了用户的家目录为`/opt/file`。这意味着当用户...
这一配置模式使得每个FTP用户的主目录可以分布在不同的网络路径上,包括多台服务器、多个卷和目录,提高了管理和资源利用的效率。 首先,文件服务器的角色至关重要,因为它需要为所有FTP用户提供共享和用户目录。...
本篇将详细讲解如何在Linux环境下设置FTP用户,以确保用户只能访问特定的目录,并且不能登录到系统本身。 首先,检查你的系统是否已经安装了`vsftpd`,这是一个常用的FTP服务器软件。你可以通过运行以下命令来查看...
- `chroot_local_user`: 是否将所有本地用户限制在他们的家目录中,`yes`为限制,`no`为不限制。 - `chroot_list_enable`: 是否启用锁定列表,`yes`为启用,`no`为禁用。 - `chroot_list_file`: 存储不受chroot...
本文将详细介绍如何在Unix或Linux环境下创建一个FTP用户,并对其权限进行配置,确保FTP服务的安全性和稳定性。 #### 步骤详解 1. **创建新用户**: - 使用`useradd`命令来创建一个新的FTP用户。例如,根据给定的...
本文将详细讨论如何搭建三种类型的FTP服务器:匿名FTP、本地用户FTP以及虚拟用户FTP。 **匿名FTP搭建** 匿名FTP允许任何用户访问服务器上的特定资源,通常用于提供公开下载的文件。在Linux系统中,使用`vsftpd`...
- `chroot_local_user=YES` 将用户限制在其主目录内 - `write_enable=YES` 开启写入权限,根据需求调整 4. **设置用户权限**:使用`chown`和`chmod`命令改变文件和目录的所有者和权限。例如,为FTP用户赋予其主...
本文将详细介绍如何在vsftp(Very Secure FTP daemon)环境中进行FTP用户的添加与删除操作。通过这些步骤,可以有效地管理服务器上的用户访问权限,确保数据的安全性和合规性。 #### 二、准备工作 1. **确认vsftpd...
在该目录下,创建多个子目录,如`AA`、`BB`、`CC`等,这些目录将对应不同的用户或用户组。 #### 步骤二:设置共享权限 1. **打开“计算机管理”**:右键点击“我的电脑”,选择“管理”。 2. **进入“共享文件夹”*...
2. **图形化FTP客户端**:例如FileZilla、WinSCP等,它们提供更直观的界面,用户可以直接在目录树中浏览,输入关键词搜索,甚至通过过滤器按大小、类型等条件筛选。 3. **FTP API**:对于开发人员,可以使用各种...
本文将深入探讨如何在WinCE 6.0环境下设置FTP用户信息,确保系统运行顺畅。 FTP是一种标准的网络协议,用于在Internet上在客户端和服务器之间交换文件。在WinCE 6.0这样的嵌入式系统中,FTP服务器的配置可能与传统...
仅允许用户使用ftp并限制用户访问其它文件夹 只可以访问自己的Home目录
2、建用户,命令行状态下,在root用户下: 3、更改用户相应的权限设置: 4、限制用户只能访问/home/ftpuser,不能访问其他路径 5、重启服务器 6