Linux 建了一个用户,怎么给他FTP权限?

Linux 建了一个用户,怎么给他FTP权限?,第1张

Linux下创建用户是很easy的事情了,只不过不经常去做这些 *** 作,时间久了就容易忘记,顺便配置一下FTP。声明:使用Linux版本release 5.6,并以超级管理员root身份运行。

1.创建用户,并指定分组和主目录

useradd -d /home/lch -g root lch

还可以增加其他参数,比如指定用户使用shell等,具体的google一下

2.设定密码

passwd lch

3.查看、改变、添加用户分组

[root@localhost ~]# groups lch

lch : root www

# -G 改变分组

[root@localhost ~]# usermod -G root lch

[root@localhost ~]# groups lch

lch : root

# -g 新增分组

[root@localhost ~]# usermod -g www lch

[root@localhost ~]# groups lch

lch : www root

4.删除用户

# 加上 -r 参数,删除更彻底

userdel -r lch

更改ftp配置文件

修改配置文件/etc/vsftpd/vsftpd.conf并设定或删掉注释:

userlist_enable=NO

anonymous_enable=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

打开/etc/vsftpd/user_list并增加一行:

lch

新建文件/etc/vsftpd/chroot_list并增加一行

lch

配置用户ftp权限及访问路径限制:

此时用usertest登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。打开/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。如果userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。userlist_enable是该功能的开关。我们的系统配置如下:

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

所以需要把用户加入到/etc/vsftpd/user_list文件中,每个用户一行。

由于该主目录是mpsp用户建的,usertest是mpsp组的成员,所以usertest默认具有增删查改权限;而usertest作为mpsp组成员,对/home/mpsp下的所有路径具有访问权限(根据各目录的权限设置,默认是这样),登录ftp后会发现,usertest用户可以访问其他目录,并且具有mpsp组的权限,这样做是不允许的,我们需要将usertest用户的访问范围控制在其主目录下。方法如下:

1. cd /etc/vsftpd 进入ftp配置文件目录

2. vi vsftpd.conf编辑此文件,找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能

找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list

3. 编辑chroot_list文件,加入你要限制的用户名,一行一个用户。

如果更新了vsftpd.conf,一定要重启ftp,命令如下:

[root@linux sir001 root]# /etc/init.d/vsftpd restart

关闭vsftpd:[ 确定]

为vsftpd 启动vsftpd:[ 确定]

启动FTP服务

service vsftpd start

还有两个参数:stop、restart

可以生成两个配置文件并配置,一个主管匿名用户用21端口,一个主管本地用户用另一端口,如果这样的话也得生成两个启动服务的文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf

两个配置文件配置如下:

/etc/vsftpd/vsftpd.conf过滤出来的配置信息(主管匿名用户的21端口)

[root@desktopx ~]# grep -v '#' /etc/vsftpd/vsftpd.conf |grep -v '^$'

anonymous_enable=YES

local_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=YES

chown_username=ftp01

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

anon_root=/anon

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

/etc/vsftpd/vsftpd2.conf过滤出来的配置信息(主管本地用户的2121端口)

[root@desktopx ~]# grep -v '#' /etc/vsftpd/vsftpd2.conf |grep -v '^$' anonymous_enable=NOlocal_enable=YESwrite_enable=YES local_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/xferlogxferlog_std_format=YES local_root=/local listen=NO listen_port=2121 listen_ipv6=YESpam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES

启动服务配置文件,原始的不用修改,还是启动原始管理匿名用户的21端口,拷贝一个2号文件用来启动管理本地用户的2121端口,过程和配置如下:

cp /usr/lib/systemd/system/vsftpd.service /usr/lib/systemd/system/vsftpd2.service

vim /usr/lib/systemd/system/vsftpd2.service

1 [Unit]

2 Description=Vsftpd ftp daemon

3 After=network.target

4

5 [Service]

6 Type=forking

7 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf

8

9 [Install]

10 WantedBy=multi-user.target

然后重启服务 systemctl restart vsftpdsystemctl restart vsftpd2

最后查看端口,会生成两个进程,这时就成功啦

[root@desktopx ~]# netstat -tnpl |grep :21

tcp6 0 0 :::21 :::*LISTEN 8000/vsftpd

tcp6 0 0 :::2121 :::*LISTEN 8008/vsftpd


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8541219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存