Samba 等小协议

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

Smb是基于cs架构;

完成Linux与windows之间的共享;

 

第一步:安装samba(先检查yum源  yum clean all 然后yum rerpolist)

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

 

第二步:编辑配置文件

 

[root@ken ~]# vim /etc/samba/smb.conf
...
在global下面添加

[ken](可以随便填写)

Comment(注释) = ken
path = /ken (需要分享的目录)
read only = no
public = yes
...

 

 重启 Systemctl restart smb

第三步:添加访问用户

 

[root@ken ~]# pdbedit -a -u ken用户必须存在,在Samba里边设置密码

new password:
retype new password:
Unix username:        ken
NT username:         
Account Flags:        [U          ]
User SID:             S-1-5-21-2955866158-395382928-516355751-1000
Primary Group SID:    S-1-5-21-2955866158-395382928-516355751-513
Full Name:           
Home Directory:       \\ken\ken
HomeDir Drive:       
Logon Script:        
Profile Path:         \\ken\ken\profile
Domain:               KEN
Account desc:        
Workstations:        
Munged dial:         
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Thu, 28 Feb 2019 19:28:50 CST
Password can change:  Thu, 28 Feb 2019 19:28:50 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

 

 

第四步:创建共享目录

[root@ken ~]# mkdir /ken

 

第五步:关闭防火墙

[root@ken ~]# setenforce 0(关闭seLinux里边的防火墙)

[root@ken ~]# systemctl stop firewalld(关闭防火墙)

 

第六步:启动samba服务

[root@ken ~]# systemctl restart smb(修改任何配置文件都需要重启服务)

 

第七步:windows访问

输入两个反斜线加上samba服务器的地址。输入你的用户名和密码即可(可以在我的电脑或者运行里边搜索)

 

 

 

第八步:测试创建文件·····························································(需要给用户和共享文件设置权限)

 

 

 

 

 

 

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@ken ~]# yum install vsftpd -y

[root@ken ~]# setenforce 0(关闭seLinux里边的防火墙)

[root@ken ~]# systemctl stop firewalld(关闭防火墙)

 

配置匿名开放模式

 

匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到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@ken ~]# egrep -v "(^$)|(^#)" /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

 

第二步:启动ftp

[root@ken ~]# systemctl restart vsftpd

 

第三步:windows访问  ftp://ip地址

 

 

 

 

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

发现没有权限

 

 

 第五步:赋予写权限

默认访问/var/ftp/pub目录通过查找pub路径 fing / -name pub

[root@ken ~]# chmod -R o+w /var/ftp/pub
[root@ken ~]# ls -ld /var/ftp/pub
drwxr-xrwx 2 root root 6 Oct 31 03:45 /var/ftp/pub

 

第六步:再次创建文件

创建成功

 

 

配置本地用户模式

 

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

参数                                                           

作用                                                                                                      

anonymous_enable=NO

禁止匿名访问模式

local_enable=YES

允许本地用户模式

write_enable=YES

设置可写权限

local_umask=022

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

userlist_deny=YES

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

userlist_enable=YES

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

第一步:编辑配置文件

修改如下四处即可

 

[root@ken ~]# egrep -v "(^$)|(^#)" /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

 

第二步:重启服务

[root@ken ~]# systemctl restart vsftpd

 

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

 

[root@ken ~]# useradd ken
useradd: user 'ken' already exists
[root@ken ~]# passwd ken
Changing password for user ken.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

 

 

第四步:windows访问

输入创建的用户和密码

 

 

 

 

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

 

 

 

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

[root@ken ~]# ls /home/ken
7yum.repo  test

 

systemctl常用操作

 

以samba为列

 

systemctl start smb       #启动smb服务

systemctl restart smb   #重启smb服务

systemctl stop smb       #停止smb服务

systemctl status smb    #查看smb服务状态

systemctl reload smb    #平滑重启smb

 systemctl enable smb   #开机自启smb服务

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

 

sshd服务讲解

 

SSHD服务

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

默认端口22  x-shell

 

作用

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/sshd_config。

ssh_config 为客户端配置文件

sshd_config 为服务器端配置文件

 

使用ssh免密登录远程主机

 

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

如果用root进程登录远程主

[root@ken ssh]# ssh 192.168.100.156

第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连

接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts 文件中,下次再进行登录时因为保存有该主机信息就不会再提示了

[root@ken ~]# cat /root/.ssh/known_hosts
192.168.100.155 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7B2ow9G9mtjXOdFf0OaRGeJDgAjENY99fHd4Z2R1J7rJH0qpcCVGnIbyAGlZml6XYoUZ8yJunOgA5wh7wKCRUqlT2Xwo5LQ7GH21Q2oiDkeiGFbn0woshZJwsCxpBbcmfzT63RXdHKlBny5pC1rINmlzOnXzvSk/1Wxc8eNn8fMMbP4u2yn7sp9U27Gm5iHkGcIoyPqhP6G5oQ/LoRQFCzhiPQXFf8a8twYDy4jVBt1FJpFJiHBZdiXVlujTCucr0TFXw8UHt9Dq7ZRZrqd74ASz8f5Kp7XdagumpDgb1/DqAY6m/NLdT9qhG4TnhJwfIcjv+EI30raVgcMEYweM9w==

 

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

 

生成密钥对

 

输入ssh-keygen之后一直回车即可,生成一次即可,无需多次生成该密钥,否则会提示你是否覆盖选项!

 

[root@ken ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:uzrFboudR48UdBgDndOqvbCLuownTPF5P1vUQX0WbU4 root@ken
The key's randomart image is:
+---[RSA 2048]----+
|        .oo=.. .o|
|          *oo . E|
|         . +.  * |
|  .       o. .  .|
|   o . .So...    |
|  . o . =o+      |
| o   . +.=.+     |
|  oo. .+*++ .    |
|  .o+o++B*       |
+----[SHA256]-----+

 

 

发送密钥

 

使用ssh-copy-id加上ip地址即可传送密钥至想要登录的主机,需要输入一次客户端的密码

 

[root@ken ~]# ssh-copy-id 192.168.163.128
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.163.128 (192.168.163.128)' can't be established.
ECDSA key fingerprint is SHA256:kV6tl/qBm50DhXUc0Q0bnavLwsUrYHT6VrdcivrsHyo.
ECDSA key fingerprint is MD5:55:4c:2d:86:64:d4:9d:4b:eb:0e:b2:68:38:d5:dc:8c.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.163.128's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.163.128'"
and check to make sure that only the key(s) you wanted were added.

 

 

登录节点

 

在发送完密钥之后即可不需要输入密码即可访问节点

如果节点不是默认的22端口,还需要机上小写 的p选项指定端口

[root@ken ~]# ssh 192.168.163.128
Last login: Mon Mar 25 11:24:43 2019 from 192.168.163.130

 

 

 

scp可以实现远程主机之间的文件复制

scp使用ssh协议,所有想要免密进行复制,需要发送秘钥给相应的节点

 

scp使用格式:

scp [user@]host1:]file1 ... [[user@]host2:]file2

 

常用选项:

-r: 复制目录时使用

-P:大写的P指定端口

 

scp发送主机文件到远程节点

 

[root@ken ~]# ls
anaconda-ks.cfg  ken  ken1  test       如果端口不是22的话 需要加上-P 添加端口号[root@ken ~]# scp /root/test 192.168.64.5:/tmp
test                                                                                                100%    0     0.0KB/s   00:00   

 

scp拉取远程节点文件到本地

 


[root@ken ~]# scp 192.168.64.7:/root/test /tmp/
root@192.168.64.7's password:
test                                                                                                100%    0     0.0KB/s   00:00   

 

scp复制本地目录到远程节点

 

[root@ken ~]# scp ken 192.168.64.7:/root/
root@192.168.64.7's password:
ken: not a regular file
[root@ken ~]# scp -r ken 192.168.64.7:/root/    #需要加上选项-r
root@192.168.64.7's password:

 

scp远程节点目录到本机

 

[root@ken ~]# scp -r root@192.168.64.7:/tmp/test /tmp/
root@192.168.64.7's password:
[root@ken ~]# ls /tmp
Test

 1.部署Samba

yum install samba -y

 vim /etc/samba/smb.conf
在global下面添加

[cheng](可以随便填写)

Comment(注释) = cheng

path = /ken (需要分享的目录)
read only = no
public = yes

Systemctl restart smb

 useradd cheng

mkdir /cheng

pdbedit -a -u cheng用户必须存在,在Samba里边设置密码

 setenforce 0(关闭seLinux里边的防火墙)

 systemctl stop firewalld(关闭防火墙)

systemctl restart smb(修改任何配置文件都需要重启服务)

 输入两个反斜线加上samba服务器的地址。输入你的用户名和密码即可(可以在我的电脑或者运行里边搜索)

测试创建文件·(需要给用户和共享文件设置权限)

 

systemctl start smb       #启动smb服务

systemctl restart smb   #重启smb服务

systemctl stop smb       #停止smb服务

systemctl status smb    #查看smb服务状态

systemctl reload smb    #平滑重启smb

 systemctl enable smb   #开机自启smb服务

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

2.部署ftp

 yum install vsftpd -y

 setenforce 0(关闭seLinux里边的防火墙)

 systemctl stop firewalld(关闭防火墙)

1.匿名登录

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 去掉注释)

local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=YES
去掉注释)

anon_mkdir_write_enable=YES
anon_other_write_enable=YES
(多加一行)

 systemctl restart vdftpd

直接在我的电脑中访问即可

2本地用户访问

 vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO  (把匿名登录设置成禁止

local_enable=YES
write_enable=YES
local_umask=022

systemctl restart vdftpd

创建用户并设置密码

 useradd cheng

 echo "123">passwd --stdin cheng

在我的电脑中登录,文件上传到了/home/cheng目录里边

3 部署ssh

输入ssh-keygen之后一直回车即可生成密钥

使用ssh-copy-id加上ip地址即可传送密钥至想要登录的主机,需要输入一次客户端的密码

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
05-30
Samba是一个开源软件套件,它提供了在Linux和Unix系统上实现SMB/CIFS协议的功能,包括文件和打印机共享,身份验证和授权等。SMB(Server Message Block)是一个在局域网中广泛使用的网络协议,它使得多个计算机可以共享文件、打印机和其他资源。 Samba可以在Linux平台上实现与Windows系统的文件共享和打印机共享。Samba提供了对SMB/CIFS协议的完整实现,可以让Linux和Unix系统与Windows系统之间进行无缝的文件和打印机共享。通过Samba,Windows系统的用户可以在局域网内访问Linux或Unix系统上的共享文件和打印机,而Linux或Unix系统的用户也可以访问Windows系统上的共享文件和打印机。 Samba还提供了用户身份验证和授权功能,可以对共享的文件和打印机进行权限控制。Samba可以通过LDAP(Lightweight Directory Access Protocol)或Winbind等方式实现用户身份验证和授权。 在Linux系统上安装Samba非常简单,只需要使用包管理工具即可。在Ubuntu系统上,可以通过以下命令安装Samba: ``` sudo apt-get install samba ``` 安装完成后,需要编辑Samba配置文件/etc/samba/smb.conf来配置共享文件夹、用户权限等。编辑完成后,需要重启Samba服务: ``` sudo service smbd restart ``` Samba是一个非常强大和灵活的软件套件,它可以实现多种不同的功能。除了文件和打印机共享之外,Samba还可以实现域控制器、FTP服务器、WebDAV服务器等功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值