linux 查看ftp账户,linux的ftp服务之本地访问浏览与虚拟账户

限制本地用户浏览根目录

/etc/vsftpd/vsftpd.conf

423358180e50106ea61527affb9aec65.png

功能:所有用户被锁定到自己的加目录中(修改之前不仅可以在自己家目录,还可以看其他)

编辑限制浏览根目录用户

vim /etc/vsftpd/chroot_list

7caf9f248a98f90da015c6ad5bc78d80.png

be0504aca77ccb45dbe7cd8b0552838c.png

添加白名单设置

chroot_local_user=YES ---> 此参数要求去掉自己对加目录的写权限

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径

ac1b52bfe0d9188b7fd4c0e782952d87.png

b364ae4e6291af3d1e59382540c0cda0.png

在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录

17c84ff61e3f24d292c4382a0c47dd85.png

注 ---> 未在文件中列出的用户,不能切换到其他目录

添加黑名单设置

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径

d0e45c790b2814a83f699ba7501af932.png

b364ae4e6291af3d1e59382540c0cda0.png

在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录

9b26842f38059145e844c1529190f188.png

注 ---> 未在文件中列出的用户,可以切换到其他目录

.

限制本地用户登录

功能:限制本地用户登录

注 ---> 限制本地用户设置

vim /etc/vsftpd/ftpusers 只默认黑名单设置 ---> 永久用户黑名单

vim /etc/vsftpd/user_list 白黑名单均可设置 ---> 用户临时黑名单

用户黑名单建立

userlist_enable=YES

19908312d9e00177e22f84e9240522d4.png

黑名单设置vim /etc/vsftpd/user_list ---> 用户临时黑名单

b758c19fd3c1dd2445941e0a5e99dd8a.png

1c3054783c70e8522a37f96d83223cb6.png

只默认黑名单 vim /etc/vsftpd/ftpusers ---> 永久用户黑名单

c9ce13dff2a320f162a109062589f645.png

dc1ec9aa26a52a289c8ade3c15e1b00c.png

b364ae4e6291af3d1e59382540c0cda0.png

2561d012f12d0d2eccb78d5218909e62.png

其他用户可登录

6e225efdda5b6d846bb2a87698d58274.png

用户白名单建立

userlist_enable=YES

userlist_deny=NO ---> 白名单功能建立

213006b65ebd946f58688b4df142683d.png

用户白名单设定

vim /etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登录ftp

b758c19fd3c1dd2445941e0a5e99dd8a.png

1c3054783c70e8522a37f96d83223cb6.png

b364ae4e6291af3d1e59382540c0cda0.png

只有白名单tom可以登录

61f11ba2bf5bad25e2f8c7ca049085db.png

其他用户都不能登录

4ce5e8bd6f283d26354db1f5516e0d41.png

.

ftp虚拟用户的设定

(创建虚拟帐号身份)

vim /etc/vsftpd/testfile ---> 文件名称任意

183f5797d844f5cadd6a313e08007814.png

user1

111

user2

222

user3

333

1b0ccc3895575182991bcd4f938f856f.png

db_load -T -t hash -f /etc/vsftpd/testfile /etc/vsftpd/testfile .db

217a8355275cf3900494a1ca0397fa16.png

注 ---> 上面的密码是明文的,不安全,要进行加密,T表示transfer,t表示转换方式为hash

查看文件类型

8b59431609580c26faf4bb7d1815a050.png

ps aux | grep pam

a730828d2f1bf8717a010fc6806b08d7.png

注 ---> 系统里有pam这个进程的

cd /etc/pam.d ---> 查看vsftpd.conf,认证的时候是使用pam认证

2ea806cdbafde4e5e47825920f07f1de.png

注 ---> cd /etc/pam.d,目录里有个vsftpd文件

---> 认证的时候就是在这个文件里做用户名和密码的比对

vim test

4d66c0dbe79043174487c58f3b21d812.png

account required pam_userdb.so db=/etc/vsftpd/testfile

auth required pam_userdb.so db=/etc/vsftpd/testfile

08a547c81e38616181c75e236b94b117.png

注 ---> account表示帐号名称,auth表示密码,先后顺序不分

---> required是通过了用户名认证才能进入下一步认证,然后使用pam_userdb.so这个插件来验证

---> db=/etc/vsftpd/testfile 文件后不要写.db,系统会自动加

创建虚拟帐号身份

vim /etc/vsftpd/vsftpd.conf

虚拟帐号认证参考test认证文件

pam_service_name=test

开启虚拟账户功能

guest_enable=YES

bc64ead3dc9de02c84bab42f88cca191.png

虚拟帐号没有身份指定时,登录共享目录

1f50701977a16371772d88035ba2f90f.png

虚拟帐号身份指定

设置家

guest_username=tom

fa24daceca8ab90b01eb915cf9071d6c.png

注 ---> 默认使用虚拟用户时,登录后在pub目录,要想改变,修改此参数,修改后登录到tom家目录

chmod u-w /home/ftpuser

3189573499379c4f44944f813ec8fbba.png

fe0263d063a0493698eef0ef6e237240.png

60adbc0ddc2ce260419ff8c397532aeb.png

虚拟帐号家目录独立设定

vim /etc/vsftpd/vsftpd.conf

local_root=/ftphome/$USER

user_sub_token=$USER

vim /etc/vsftpd/vsftpd.conf

注 ---> $USER是shell里的用法,要让配置文件里支持,必须加这个参数

d8112783db6a82eefb75d3847d623793.png

创建user1,2的家目录

mkdir /ftphome/user1/pub1 -p

mkdir /ftphome/user2/pub2 -p

改目录权限为775,组为ftp

chgrp ftp /ftphome /user1/pub1

54436984828a61e74825a57e5b97fa67.png

chgrp ftp /ftphome /user2/pub2

d85c4a77bf7b9ed50a5b7fb7243d7997.png

chmod 775 /ftphome/user1/pub1

acac33a4e2bb6f1b174c8999a092c451.png

chmod 775 /ftphome/user2/pub2

f54a75b33894f69cbce104e2fbefcc49.png

虚拟帐号配置独立

创建配置文件

mkdir -p /etc/vsftpd/userconf

7d1c9aaa865bad543bed89ece70fbbba.png

配置文件user1设置

vim /etc/vsftpd/userconf/user1

976aa653ae26393b670cdefaec54a468.png

注 ---> 在此文件中设定配置文件中的所有参数,此文件的优先级高

anon_upload_enable=YES

df5da78d8d110928a25797fa0c423733.png

user1可以上传

89ef0cb66e32f732067259cca1af6265.png

user2不行

d0cb7fbb57d03b740935558444f27ae8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 系统中,FTP 服务器可以使用虚拟用户来实现用户认证和授权。虚拟用户指的是不是系统用户,而是通过配置文件或数据库中的用户信息来进行认证和授权。以下是在 Linux 中配置 FTP 虚拟用户的步骤: 1. 安装 vsftpd 服务器。 ```bash sudo apt-get install vsftpd ``` 2. 创建虚拟用户账户文件。 ```bash sudo touch /etc/vsftpd/virtual_users.txt ``` 3. 编辑虚拟用户账户文件。 ```bash sudo nano /etc/vsftpd/virtual_users.txt ``` 在该文件中,每行包含虚拟用户的用户名和密码。格式为:`username password`。 4. 创建虚拟用户的虚拟用户配置文件。 ```bash sudo touch /etc/vsftpd/virtual_users_db.conf ``` 5. 安装 db-util 工具。 ```bash sudo apt-get install db-util ``` 6. 生成虚拟用户的虚拟用户配置文件。 ```bash sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users_db.conf ``` 7. 创建 PAM 配置文件。 ```bash sudo nano /etc/pam.d/vsftpd.virtual ``` 将以下内容添加到 PAM 配置文件中: ```text auth required pam_userdb.so db=/etc/vsftpd/virtual_users_db account required pam_userdb.so db=/etc/vsftpd/virtual_users_db ``` 8. 配置 vsftpd.conf 文件。 ```bash sudo nano /etc/vsftpd.conf ``` 在该文件中,取消以下行的注释: ```text listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd.virtual rsa_cert_file=/etc/ssl/private/vsftpd.pem guest_enable=YES guest_username=ftp virtual_use_local_privs=YES user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES ``` 注意修改 `guest_username` 和 `local_root` 的值,使其与你的实际情况相符。 9. 重启 vsftpd 服务。 ```bash sudo service vsftpd restart ``` 现在,你可以使用虚拟用户来登录 FTP 服务器了。虚拟用户的用户名和密码存储在 `/etc/vsftpd/virtual_users.txt` 文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值