Linux下的FTP安装和登录
一、检查安装vsftpd软件
# rpm -qa |grep vsftpd
可以检测出是否安装了vsftpd软件,上图表示已安装;
二、如果没安装使用yum命令进行安装
# yum -y install vsftpd
三、ftp的配置文件的设置,/etc/vsftpd/vsftpd.conf, /etc/vsftpd/ftpusers, /etc/vsftpd/user_list。
vsftpd.conf文件说明
anonymous_enable=YES //是否允许anonymous登录FTP服务器,默认是允许的.
local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许
write_enable=YES //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许
local_umask=022 //设置本地用户的文件生成掩码为022,默认是077
anon_mkdir_write_enable=YES //是否允许匿名账户在FTP服务器中创建目录
dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现提示信息
xferlog_enable=YES //启用上传和下载日志功能
connect_from_port_20=YES //启用FTP数据端口的连接请求
xferlog_file=/var/log/vsftpd.log //设置日志文件的文件名和存储路径,这是默认的
xferlog_std_format=YES//是否使用标准的ftpd xferlog日志文件格式
idle_session_timeout=600 //设置空闲的用户会话中断时间,默认是10分钟
ascii_download_enable=YES //是否允许使用ASCII格式来上传和下载文件
chroot_list_enable=YES //如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项,如果设置 chroot_list_enable=YES,那么只允许/etc/vsftpd.chroot_list中列出的用户具有该功能.如果希望所有的本地用户都执行者chroot,可以增加一行:chroot_local_user=YES
pam_service_name=vsftpd //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.
userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认是不允许
listen=YES //使vsftpd 处于独立启动模式
tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式
vsftpd.ftpusers文件说明
这个文件是用来记录"不允许"登录到FTP服务器的用户,通常是一些系统默认的用户.。
下面是该文件中默认的不允许登录的名单:
# Users that are not allowed to login via ftp
root //默认情况下,root和它以下的用户是不允许登录FTP服务器的.可以将不允许登录的用户添加到这里来.但切记每个用户都要单独占用一行.
bin
daemon
adm
lp
sync
shutdown
vsftpd.user_list文件说明
其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
如果不想复杂就直接保证:/etc/vsftpd/vsftpd.conf的下面三项为YES就可以了。
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
四、vsftpd的启动(CentOS7)
systemctl restart vsftpd 重启
systemctl start vsftpd 启动
systemctl status vsftpd 状态
4、查看可以查看vsftpd是否启动
# ps -aux | grep ftpd
# netstat -na | grep 21
# netstat -tunlp | grep 21
五:创建用户权限
最简单的方法:创建用户:useradd +用户名
修改密码:passwd +用户名
然后对文件夹的权限赋给所有人:chmod 777 /usr(文件名)
以上为最简便的方法,但是有安全风险。
1、创建用户,并指定分组和主目录(根据自己的需求设定参数)
useradd -d /opt/reconciliation -s /sbin/nologin -g ftpGroup -G root ftpUser
解析:
useradd 添加用户ftpUser
-d 指定用户根目录为/opt/reconciliation
-s 指定shell脚本为/sbin/nologin,表示不允许shell登录 (vi /etc/passwd 编辑用户shell权限的地方)
-g 创建分组ftpGroup
-G 指定root分组
PS:创建有问题可以删除重新创建 userdel -r ftpUser
2、设定密码
passwd ftpUser
3、设置访问权限
chown ftpUser /opt/reconciliation/
更改ftp配置文件
修改配置文件/etc/vsftpd/vsftpd.conf并设定或删掉注释:
userlist_enable=NO
anonymous_enable=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
打开vi /etc/vsftpd/user_list并增加一行:
ftpUser
新建文件vi /etc/vsftpd/chroot_list并增加一行
ftpUser
4、配置用户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
六:权限设置
-rw-r--r--. 1 root root 1944 5月 18 17:21 initial-setup-ks.cfg
一共有10位数
其中: 最前面那个 - 代表的是类型,如果是目录,最前面这个是d
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予 现在该说说修改文件权限了:
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限 其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w ------------2
x ------------1
- ------------0 行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限 当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
举例:
chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx
如果想把单独的文件给对应的账号设置权限,要用对应的账户去登录linux去设置这个账号例如:我想把 /home/user这个文件给admin权限只读权限
就要用admin账号登录 设置 chmod 500 /home/user(4是只读,最好每次把1加上 也就是5)
特殊的时候:
setfacl -m u:admin:rwx /home/mengniu_xm/mengniu_r 用的这个命令 给单独用户 单独文件设置权限(mengniu_r给admin账号rwx权限)
setfacl -R -m u:admin:rwx /home/mengniu_xm/mengniu_wr(加个-R 实际过程中出现admin账号不能删除文件的情况 加上这个就可以了)
七、连接方式
1.Linux系统本地连接
安装ftp执行命令:# yum -y install ftp
连接命令: # ftp 127.0.0.1
输入账号密码:下图230表示连接成功
2.window连接
方法一:
方法二:
Linux下的FTP安装和登录相关推荐
- linux下新增ftp账号,【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...
转自:http://blog.csdn.net/cloudday/article/details/8640234 1. 启动VSFTP服务器 A:cenos下运行:yum install vsft ...
- linux下jdk的安装和docker打包运行镜像
文章目录 linux下jdk的安装和docker打包运行镜像 1.jdk安装 添加下面内容 2.nohup安装 2.1.创建springboot项目 2.2.IDEA+Spring Cloud+Mav ...
- linux下从git获取有权限的代码,linux下从源代码安装git
之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...
- linux下pptpd的安装配置(×××)
linux下pptpd的安装配置(×××)--单网卡×××实现 (本文部分内容摘自互联网,特此声明!) 环境介绍:Linux(redhat) 2.6.18 +PPP+PPTPD ...
- CentOS(linux) 下JDK的安装
CentOS(linux) JDK的安装 第一篇博客有不足之处,请大家多指教.^_^ linux下装JDK的文章网上有一大堆我就不照搬了. 本文讲新手如何取巧的在linux下安装JDK. CentOS ...
- linux arcgis10.4安装教程,ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将ArcGIS Server安装在Linux上,但是对于初次接触Linux的用户,他们都觉得无从下手,Li ...
- linux下软件的安装[转]
linux下软件的安装 先来看看Linux软件扩展名.软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用:后缀为.deb是Debain Linux ...
- Linux java集成安装环境,Linux下Java环境安装
本节主要讲解Linux(Centos 6.5)下Java环境的安装 1. 卸载机器上默认安装的JDK 在Linux环境下一般会默认安装jdk,为了自己项目的开发部署,一般情况要重新装jdk,而且自己装 ...
- linux下Oracle 10g安装(超级详细图解教程)
linux下Oracle 10g安装(超级详细图解教程) 一,基本配置: 1.以root登录,挂载linux iso文件 [root@oracle ~]# hostnameoracle.junjie. ...
最新文章
- 陶哲轩实分析引理 11.1.4
- 孕妇可以在计算机教室待吗,电脑对孕妇有辐射吗?孕妇使用电脑的注意事项
- C++多线程快速入门(四)shared_mutex以及读写锁应用
- [HEOI2015]兔子与樱花
- stm32f407手册_入门篇 | STM32F407库函数开发L按键控制Led灯
- html 增加和删除一行,关于JS点击增加一行,点击删除一行的问题?
- 数字图像处理(一) 绪论
- PHP之Smarty模板学习
- IDEA 打包docker镜像详解
- 苹果手机连接服务器传输文件,iOS 设备实现wifi局域网传输文件到iphone
- VBA代码宝工具箱(陈表达)
- 字节跳动后端开发实习生一面凉经
- ElasticSearch分布式搜索引擎安装教程
- 用C语言求最小公倍数和最大公约数
- oracle dbms是什么意思,oracle的dbms_stats包详细解说
- java积分_java积分体系设计
- php 双向链表,Go实现双向链表
- 微拍堂积极践行社会责任,促进中国经济高质量发展
- 解决 GlobalSign 证书导致 Mac 上京东、淘宝等网站打不开的问题
- 谷歌浏览器无法保存网站密码指引