一:安装ftp

1、检查是否安装了 ftp :(下图是已安装的效果,没安装没有展示)

  rpm -qa|grep vsftpd

2、安装指令:(找一个 
-y  指令)

  yum install -y vsftpd

3、安装完成后执行步骤1  就可以看到ftp的版本信息

4、安装完成后,启动 FTP 服务:

  service vsftpd start

5、启动后,可以看到系统已经监听了 21 端口:

  netstat -nltp | grep 21

6、禁用匿名用户

  vi /etc/vsftpd/vsftpd.conf  (anonymous_enable=NO-----yes改为no)

7、保存后重启

  service vsftpd restart

二:创建用户权限

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,命令如下:
  [root@linux sir001
root]# /etc/init.d/vsftpd restart
  关闭vsftpd:[ 确定]
  为vsftpd 启动vsftpd:[ 确定]
  启动FTP服务
  service vsftpd start
  还有两个参数:stop、restart

三:权限设置

  -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账号不能删除文件的情况  加上这个就可以了)

  引用:

    https://www.linuxidc.com/Linux/2017-11/148518.htm  ---安装ftp及添加用户

    https://blog.csdn.net/xufei512/article/details/52037497  ---添加用户

    https://blog.csdn.net/dczjzz/article/details/52041782  ---权限设置

    https://blog.csdn.net/alvin_lam/article/details/51567979 ---setfacl 权限举例

    https://blog.csdn.net/qq_38350907/article/details/78852557---防火墙端口配置21

linux下安装FTP详细的更多相关文章

  1. linux下安装jdk 详细步骤(一条命令即可安装)

    转载:https://blog.csdn.net/luochangchen/article/details/72804426 作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装 ...

  2. linux下安装jira详细步骤

    首先从官网下载jdk的安装包,将jdk的安装包上传到虚拟机或者服务器,在./usr/local/目录下面创建一个java目录:mkdir java 等等,具体祥看本文,希望对你有所帮助 linux下安 ...

  3. Linux下安装mongodb详细过程

    本次安装mongodb使用yum.repo方式.详细过程请参考,也列出一些安装过程中的错误,欢迎指正. mongodb版本:3.0 先在linux下cd 到 /etc/yum.repos.d/ 新建脚 ...

  4. linux 下安装ftp服务器

    最后重启    # service vsftpd restart   1.查看是否安装vsftp rpm -qa | grep ftp 如果出现    vsftpd-2.0.5-16.el5_5.1 ...

  5. 操作笔记:linux下安装ftp

    1,安装ftp [root@iZ945sgm0ugZ ~]# yum install vsftpd 安装成功的信息: [root@iZ945sgm0ugZ ~]# yum install vsftpd ...

  6. linux 下安装ftp 并远程连接

    1.确认是否已安装 ftp 1 pgrep vsftpd   #查看ftp 服务进程 无结果如下图所示 2.执行安装 1 yum install vsftpd     #安装ftp 服务 3.执行过程 ...

  7. Linux下安装FTP服务(Ubuntu)

    在Ubuntu 14.04 上安装 FTP 服务 第一步>>更新库 linuxidc@linuxidc:~$ sudo apt-get update 第二步>>采用如下命令安装 ...

  8. linux下安装MYSQL详细配置(转)

      #tar zxvf mysql-5.0.18.tar.gz#cd  mysql-5.0.18 #./configure --prefix=/usr/local/mysql --with-chars ...

  9. 记一次linux下安装ftp的愉快体验

    三三两两,试了几次就出来了,挺开心的 linux安装vsftpd,请自行百度 贴出部分配置点 阿里云服务器,开发相关端口以及部分区域端口访问 /etc/pad.d/vsftpd添加部分注释 #%PAM ...

随机推荐

  1. C语言多种方法求解字符串编辑距离问题的代码

    把做工程过程经常用的内容记录起来,如下内容段是关于C语言多种方法求解字符串编辑距离问题的内容. { if(xbeg > xend) { if(ybeg > yend) return 0; ...

  2. 手动调用dubbo接口

    1. 打开命令窗口,telnet IP地址 dubbo端口号 telnet 127.0.0.1 28001 2. 找到service ls 列出所有服务 dubbo>cd com.faaaaa. ...

  3. SpringBoot之AOP

    AOP:面向切面编程,相当于OOP面向对象编程. Spring的AOP的存在目的是为了解耦,AOP可以让一组类共享相同的行为. Spring支持AspectJ的注解切面编程: (1)使用@Aspect ...

  4. CycleGan论文笔记

    原文地址:https://arxiv.org/abs/1703.10593 背景——风格迁移 图片生成领域是GAN网络的天下,最近很多人将GAN网络应用到了图像风格迁移领域.这篇论文也是做image ...

  5. 学习python的几种模块

    最近在研究python写的拷屏系统,里面应用到了很多种模块,有文件操作的(shutil,os),多进程控制的(thread,threading),涉及时间的(time,datetime),数据库操作的 ...

  6. 如何用python将一个时间序列转化成有监督学习

    机器学习可以被用于时间序列预测. 在机器学习能使用之前,时间序列预测需要被重新转化成有监督学习.将一个序列组合成成对的输入输出序列. 在这篇教程中,你会发现如何通过使用机器学习算法将单变量和多变量的时 ...

  7. Intellij IDEA 自动清除无效 import

    打开偏好设置: 输入auto import: 注:想在以后的工程中都自动清除,可以在File中如下图操作:

  8. ng-packagr 不能全部打包文件

    1.没有在public_api.ts中导出 export * from './src/app/ngprime/components/tooltip/tooltip.module'; export * ...

  9. python 模块 不可不知的知识点

    大纲可参考博客:http://www.cnblogs.com/yuanchenqi/articles/6766020.html 1.正则表达式中(re模块),. 代表除换行符以外的任意符号,但如果加上 ...

  10. shutil

    import shutil#功能是将db文件中的内容拷贝到haha这个文件中去,但是haha原有的内容会被清空#shutil.copyfileobj(open('db','r',encoding='u ...