zoukankan      html  css  js  c++  java
  • 十一、SAMBA服务和FTP服务讲解

    Samba只用于局域网,相当于windows的网上邻居。

    ftp可以作服务器,其他人可以登录到你机子,下载或者上传东西。

     

     一、samba服务

    Smb主要作为网络通信协议;

    Smb是基于cs架构;

    完成Linux与windows之间的共享linux与linux之间共享用NFS

     

     

    第一步:安装samba

    [root@ww ~]# yum install samba -y

     

    第二步:编辑配置文件

    [root@ww~]# vim /etc/samba/smb.conf …

    global后面加入

    [ken] path = /ken(path:共享linux的哪个目录)前后有空格

    read only = no

    public = yes

     

    启动 smbsystemctl restart smb

     

    第三步:添加访问用户

    [root@ww ~]# pdbedit -a -u ken(ken:系统当中存在的用户)

    (acreate user 添加用户     u:usage指定用户名)

        

    第四步:创建共享目录

    [root@ww ~]# mkdir /ken

     

    第五步:关闭防火墙

    [root@ww ~]# setenforce 0 [root@ken ~]# systemctl stop firewalld

     

    第六步:启动samba服务

    [root@ww ~]# systemctl restart smb

     

    第七步:windows访问

    输入两个反斜线加上samba服务器的地址。输入你的用户名和密码即可

     

     

     

    第八步:测试创建文件

     

     

     

     

     

     添加管理权限:

    [root@ww ~]#chmod a= /home/test

    [root@ww ~]#Chmod -R o+w /ken

     

    映射:直接可以访问

     

    二、FTP服务概述

    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。

    FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来传送文件的协议

     

    今天的主角:vsftp

    VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

    特点:

    它是一个安全、高速、稳定的FTP服务器;

     

    模式: C/S 模式

     

    端口:

    20 (传数据)

    21(传指令)

     

    三、FTP工作流程(原理):

    ##面试经常会遇到这样问题,大家需要注意下

     

     

     

    这里的主动和被动,是相对于的FTP server 端来判断的

    如果server 去连接client 开放的端口,说明是主动的,相反,如果client去连接server开放的端口,则是被动的。

     

    两种模式的比较:

    1)PORT(主动)模式模式只要开启服务器的21和20端口,而PASV(被动)模式需要开启服务器大于1024所有tcp端口和21端口。

    2)从网络安全的角度来看的话似乎ftp PORT模式更安全,而ftp PASV更不安全,那么为什么RFC要在ftp PORT基础再制定一个ftp PASV模式呢?其实RFC制定ftp PASV模式的主要目的是为了数据传输安全角度出发的,因为ftp port使用固定20端口进行传输数据,那么作为黑客很容使用sniffer等探嗅器抓取ftp数据,这样一来通过ftp PORT模式传输数据很容易被黑客窃取,因此使用PASV方式来架设ftp server是最安全绝佳方案。(默认是被动工作模式)

     

    四、部署安装FTP

     

    下载vsftpd

    [root@ww ~]# yum install vsftpd -y

     

    1.配置匿名开放模式

    匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。

    11-2                                 可以向匿名用户开放的权限参数以及作用

    参数                                                                              

    作用                                                                                       

    anonymous_enable=YES

    允许匿名访问模式

    anon_umask=022

    匿名用户上传文件的umask值

    anon_upload_enable=YES

    允许匿名用户上传文件

    anon_mkdir_write_enable=YES

    允许匿名用户创建目录

    anon_other_write_enable=YES

    允许匿名用户修改目录名称或删除目录

     

    第一步:编辑配置文件

    [root@ww ~]# vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

     

    第二步:启动ftp

    [root@ww ~]# systemctl restart vsftpd

     

    第三步:windows访问

     

     

     

     第四步:写入文件进行测试

    发现没有权限

     

     

     第五步:更改属主

    [root@ww ~]#find /-name "pub"

    [root@ww ~]#ls -ld /var/ftp/pub/  默认访问pub目录

    [root@ww ~]#chmod -R o+w /var/ftp/pub/

                         (也可以chmod ftp: /var/ftp/pub/

     

    想要删除:

    [root@ww ~]#vim /etc/vsftpd/vsftpd.conf

    anon_other_write_enable=YES

    [root@ww ~]#systemctl restart vsftpd

     

    第六步:再次创建文件

    创建成功

     

     

    2.配置本地用户模式

     

                                    本地用户模式使用的权限参数以及作用

    参数                                                           

    作用                                                                                                      

    anonymous_enable=NO

    禁止匿名访问模式

    local_enable=YES

    允许本地用户模式

    write_enable=YES

    设置可写权限

    local_umask=022

    本地用户模式创建文件的umask值

    userlist_deny=YES

    启用“禁止用户名单”,名单文件为ftpusers和user_list

    userlist_enable=YES

    开启用户作用名单文件功能

     

    第一步:编辑配置文件

    [root@ww ~]# vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO

     

    第二步:重启服务

    [root@ww ~]# systemctl restart vsftpd

     

    第三步:创建一个普通用户

    [root@ww ~]# useradd ken

    [root@ken ~]# passwd ken  

     

    第四步:windows访问

    输入创建的用户和密码

     

     

    第五步:创建文件进行测试

     

     

     

    文件被上传到了用户家目录下面 

    [root@ww ~]# ls /home/ken

    yum.repo  test

     

    用户黑名单:

    [root@ww ~]#cd /etc/vsftpd/

    [root@ww ~]#vim ftpusers

    [root@ww ~]#Vim user_list

    (ftpusers user_list用户黑名单)

     

     

     

    查询端口号:ss- tnl

    端口所对应的服务:[root@ken ~]#lsof -i :22

    (t:tcp  n:numeric不解析服务名称  l:监听listen)

    yum install tcpdump -y

     

    [root@ww ~]#ip a

    tcpdump -i eth0 -x  src 192.168.67.1 and port 21

    i:指定端口     x:显示产生数据的信息  21:端口)

    ss -tna

    创建文件

     

     

    五、systemctl常用操作

    samba为列:

    systemctl start smb       #启动smb服务

    systemctl restart smb   #重启smb服务

    systemctl stop smb       #停止smb服务

    systemctl status smb    #查看smb服务状态(active正在运行)

    systemctl reload smb    #平滑重启smb(不停止服务的情况下重启)

     

    systemctl enable smb   #开机自启smb服务

    systemctl disable smb   #开机不启动smb服务

    systemctl is-emabled  smb  #查看开机启动smb服务吗

    systemctl list-units              #查看开机自启动服务

     

    六、sshd服务讲解

    SSHD服务

    介绍:SSH 协议:安全外壳协议。为 Secure Shell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议。

    默认端口22

     

    作用

    sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件  

    相比较之前用telnet方式来传输文件要安全很多,因为telnet使用明文传输,是加密传输。

     

    SSH服务安装

    这里用yum安装(系统已经默认安装并开机自启)

    [root@ken ~]# yum -y install openssh openssh-clients openssh-server openssh-askpass

     

    SSH 配置文件

    SH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/ssh/sshd_config

    ssh_config 为客户端配置文件

    sshd_config 为服务器端配置文件

     

    [root@ken ~]#vim /etc/ssh/sshd_config

    UseDNSno 禁止用域名解析

     

    1.几个隐藏文件

    主节点:即执行ssh-keygen的主机

    [root@ww ~]# ls .ssh/

     

    id_rsa: 私钥(执行ssh-keygen生成)

    id_rsa.pub: 公钥(执行ssh-keygen生成)

    known_hosts: 主机信息

     

    从节点:接收秘钥的主机

    [root@ken-node2 ~]# ls .ssh/ authorized_keys

    authorized_keys文件内容和主节点的 id_rsa.pub文件内容一致,即保存了公钥信息。

     

    2.使用ssh免密登录远程主机

    1、ssh [远程主机用户名] @[远程服务器主机名或IP地址]

    [root@ww ~]# ssh 192.168.100.156

    [root@ww ~]# cat /root/.ssh/known_hosts

     

    3.生成密钥对

    [root@ken ~]# ssh-keygen 一直回车

     

    4.发送密钥 

    [root@ww ~]# ssh-copy-id 192.168.163.128(传送密钥至想要登陆的ip)

     

    5.登录节点

    [root@ww ~]# ssh 192.168.163.128

    实例:

    [root@ww ~]#vim /etc/ssh/sshd_config

    UseDNSno 禁止用域名解析

     

    [root@ken ~]#ssh-keygen

    [root@ww ~]#ls -la (看有没有生成.ssh)

    [root@ww ~]#ls .ssh/

    [root@ww ~]#ssh-copy-id 192.168.163.128

    [root@ww ~]#ssh 192.168.163.128

     [root@ww ~]#cat .ssh/known_hosts

    去另一台

    [root@ww ~]#ls.ssh

    [root@ww ~]#cat .ssh/id_rsa.pub

  • 相关阅读:
    php中curl类常用方法封装和详解
    一个简单的PHP的CURL类
    PHP的curl常用的5个例子
    PHP封装CURL扩展
    马老师的WoTou生产消费线程讲解例子
    URL路径设置----第二章:创建和管理内容
    浅谈js设计模式之迭代器模式
    浅谈js设计模式之代理模式
    浅谈js设计模式之策略模式
    浅谈js设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/wete/p/11736353.html
Copyright © 2011-2022 走看看