Samba服务和FTP服务

  • 1.samba服务
    • 1.1 安装samba
    • 1.2 编辑配置文件
      • smb.conf
    • 1.3 添加访问用户
    • 1.4 关闭防火墙
    • 1.5 启动samba 服务
    • 1.6 windows 访问
  • 2.FTP服务
    • 2.1 概述
    • 2.2 vsftp
    • 2.3 FTP工作流程(原理)(面试)
    • 2.4 部署FTP
      • 1)配置匿名开放模式
      • 2)配置本地用户模式
  • 3. systemctl常用操作以samba为例
  • 4. sshd服务
    • 4.1 几个隐藏文件
    • 4.2 用于登录其他设备
    • 4.3 samba用户的查看与删除
  • 常见错误
    • samba添加用户和密码时报错 Failed to add entry for user 解决记录
    • Linux于Windows使用Samba共享文件时文件属性nobody nogroup的解决办法
    • linux中root用户属于哪个用户组
    • 操作权限ls -al查看

1.samba服务

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

Smb是基于cs(client/server)架构(架构还有bs,broswer/server);

完成linux与windows之间的共享;

linux与linux之间共享用NFS。

1.1 安装samba

[root@localhost yum.repos.d]# yum install samba -y

1.2 编辑配置文件

[root@localhost ~]#mkdir /zxj                  #新建一个分享目录
[root@localhost ~]# vim /etc/samba/smb.conf    #进入主配置文件
#插入共享
[zxj]                                          #共享名
path =/zxj                                     #共享路径
read only = no                                 #关闭只读
public = yes                                   #公众
comment =  zxj                                 #注释
:wq
[root@localhost ~]# systemctl restart smb      #重启smb

smb.conf

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.[global]workgroup = WORKGROUPnetbios name = wgchensecurity = userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw[homes]comment = Home Directoriesvalid users = %S, %D%w%Sbrowseable = Noread only = Noinherit acls = Yes[printers]comment = All Printerspath = /var/tmpprintable = Yescreate mask = 0600browseable = No[print$]comment = Printer Driverspath = /var/lib/samba/driverswrite list = @printadmin rootforce group = @printadmincreate mask = 0664directory mask = 0775
[Public]path = /www/wwwroot/writable = yesbrowsable = yesguest ok = yesguest only = yescreate mode = 0777directory mode = 0777

1.3 添加访问用户

[root@localhost ~]# useradd zxj                    #新加一个用户用以访问
[root@localhost ~]# pdbedit
-u, --user=USER                    use username
-a, --create                       create user
[root@localhost ~]# pdbedit -a -u zxj              #添加访问smb用户,用户必须存在
new password:
retype new password:

1.4 关闭防火墙

[root@localhost ~]# setenforce 0                   #关闭selinux
[root@localhost ~]# systemctl stop firewalld       #关闭防火墙

1.5 启动samba 服务

[root@localhost ~]# systemctl restart smb          #重启smb

1.6 windows 访问




此时windows没有权限创建上传文件,需要给予写权限

[root@localhost ~]# ls -ld /zxj
drwxr-xr-x. 2 root root 6 apr 16 21:25 /zxj             #other没有读权限
[root@localhost ~]# chmod -R a+w /zxj                   #加写权限
[root@localhost ~]# ls -ld /zxj
drwxrwxrwx. 2 root root 6 apr 16 21:25 /zx

可以创建、上传了

[root@localhost ~]# ls /zxj
新建文件夹

2.FTP服务

2.1 概述

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

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

2.2 vsftp

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

vsftpd:实现了window与linux之间文件共享(默认被动模式)

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

模式: C/S 模式;

端口:20(传数据)、21(传指令)

2.3 FTP工作流程(原理)(面试)

主动被动模式。

FTP会话包含了两个通道:控制通道和数据通道。FTP有两种工作方式:主动模式和被动模式,以FTPserver为参照物,主动模式:服务器主动连接客户端传输;被动模式:等待客户端的连接。

主动模式:FTP客户端连接到FTP服务端的21端口,发送用户和密码。客户端随机开放一个端口(1024以上),发送port命令到FTP服务端,告诉服务端客户采用主动模式开放端口;ftp服务端收到port主动模式命令和端口信号后通过服务器的20端口和客户端开放的端口连接,发送数据。

(客户端通过21端口,发送密码,用户port指令,服务器端相应客户端

服务器端使用20端口主动连接客户端的随机高位端口,客户端要返回确认,

开始传输数据)


被动模式:pasv,passive,被动模式。FTP客户端连接到FTP服务端的21端口,发送用户名和密码,发送pasv命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把卡四方的端口告诉客户端,客户端再连接到服务器开放的端口进行端口数据传输。高位随机端口,更安全。

(客户端通过21端口,发送密码,用户pasv指令,服务器端相应客户端

服务器端使用随机高位端口主动连接客户端的随机高位端口,客户端要返回确认,

开始传输数据)


两种模式的比较:

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

(2)ftp PaSV更安全, RFC制定ftp PASV模式的主要目的是为了数据传输安全角度出发的,因为ftp port使用固定20端口进行传输数据,那么作为黑客很容使用sniffer等探嗅器抓取ftp数据,这样一来通过ftp PORT模式传输数据很容易被黑客窃取,因此使用PASV方式来架设ftp server是最安全绝佳方案。(默认是被动工作模式)

2.4 部署FTP

下载安装

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

1)配置匿名开放模式

参数

作用

anonymous_enable=YES

允许匿名访问模式

anon_umask=022

匿名用户上传文件的umask值

anon_upload_enable=YES

允许匿名用户上传文件

anon_mkdir_write_enable=YES

允许匿名用户创建目录

anon_other_write_enable=YES

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

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf      #配置文件
anon_upload_enable=YES                               #删除注释,允许上载
anon_mkdir_write_enable=YES                          #删除注释,允许创建目录
:wq
[root@localhost ~]# systemctl  restart vsftpd        #重启

Windows端访问

ftp:\\192.168.16.3                              #虚拟机iP


可以执行,无法写

[root@localhost ~]# find / -name "pub"
/var/ftp/pub
[root@localhost ~]# ls -dl /var/ftp/pub
drwxr-xr-x. 2 root root 6 Nov  6  2016 /var/ftp/pub        #other无w权限

给权限

1. ftp能够访问pub,改属主为ftp
[root@localhost ~]# chown  -R  ftp  /var/ftp/pub
[root@localhost ~]# ls -dl /var/ftp/pub
drwxr-xr-x. 2 ftp root 6 Nov  6  2016 /var/ftp/pub2. 增加写权限
[root@localhost ~]#chmod -R a+w /var/ftp/pub现在可以写了

2)配置本地用户模式

参数

作用

anonymous_enable=NO

禁止匿名访问模式

local_enable=YES

允许本地用户模式

write_enable=YES

设置可写权限

local_umask=022

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

userlist_deny=YES(黑)

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

userlist_enable=YES(白)

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

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf      #配置文件
anonymous_enable=NO                                  #禁用匿名用户
[root@localhost ~]# systemctl restart vsftpd         #重启
root@localhost ~]# useradd zxj1                      #添加一个本地用户
[root@localhost ~]# passwd zxj1                      #设置密码
Changing password for user zxj1.                     #必须设置用户和密码
New password:
BaD PaSSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.


用户被上传至用户家目录下

[root@localhost ~]# ls /home
zxj  zxj1

3. 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服务

4. sshd服务

SSH 协议:安全外壳协议,为 Secure Shell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议,默认端口22。

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

SSH 配置文件:

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

ssh_config 为客户端配置文件;

sshd_config 为服务器端配置文件;

4.1 几个隐藏文件

生成秘钥

[root@localhost ~]# ssh-keygen                              #生成秘钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):    #回车回车回车
Created directory '/root/.ssh'.
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:
22:3f:61:70:a7:39:18:ab:e2:ef:3e:8d:bf:e2:c8:c8 root@localhost.localdomain
The key's randomart image is:
+--[ RSa 2048]----+
|                 |
|                 |
|    o . .        |
|     * +         |
|    + B S        |
|   . + +         |
|. . o o          |
|=..+ . .         |
|.E==+o.          |
+-----------------+

隐藏文件

[root@localhost ~]# ls .ssh/
id_rsa  id_rsa.pub
id_rsa                   # 私钥
id_rsa.pub               # 公钥     秘钥对,公钥解私钥

4.2 用于登录其他设备

比如用192.168.16.3登录192.168.16.5,可将公钥发送给.5

ssh-copy-id 192.168.64.5
[root@localhost ~]# ssh-copy-id 192.168.16.5              #发送秘钥
The authenticity of host '192.168.16.5 (192.168.16.5)' can't be established.
ECDSa key fingerprint is 3a:a6:03:6b:c2:f5:ae:64:a6:21:b7:f7:21:5a:0d:9c.
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.16.5's password:Number of key(s) added: 1Now try logging into the machine, with:   "ssh '192.168.16.5'"
and check to make sure that only the key(s) you wanted were added.[root@localhost ~]# ssh 192.168.16.5                     #远程免密登录
last login: Mon apr 15 19:18:09 2019
[root@localhost ~]# exit
logout
Connection to 192.168.16.5 closed.

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

4.3 samba用户的查看与删除

查看samba服务器中已拥有哪些用户:
pdbedit -L

删除samba服务中的某个用户
smbpasswd -x 用户名

查看Linux中所有用户:
cat /etc/passwd

查看Linux中所有组:
cat /etc/group

删除linux某个用户
userdel 用户名

删除linux中某个用户所有信息
userdel -r 用户名

常见错误

samba添加用户和密码时报错 Failed to add entry for user 解决记录

出错:

sudo smbpasswd -a xxx
New SMB password:
Retype new SMB password:
Failed to add entry for user bearpi.

原因:
​这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,

解决:
samba使用当前系统账户

smbpasswd 用户名
更具提示输入两次新密码

Linux于Windows使用Samba共享文件时文件属性nobody nogroup的解决办法

vim /etc/samba/smb.conf

修改配置文件如下:
在 [global] 放入以下内容
force user = 帐号 root
force group = 群组 root
create mask = 0777
directory mask = 0777

存档,重启smb:systemctl restart smb

linux系统里: #create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;

linux中root用户属于哪个用户组

root属于多个组,其中主组为root组
你可以执行命令查看:groups root

操作权限ls -al查看

关于- rwx rwx rwx:

第一个 - :代表这是一个普通文件(regular), 其中其他文件类型还包括了
d--------->目录文件(directory)
l --------->链接文件(link)
b--------->块设备文件(block)
c--------->字符设备文件(character)
s--------->套接字文件(socket)
p--------->管道文件(pipe)

一共有三组rwx(下图中的每一个框起来的rwx对应一组用户权限),分别是以下几种用户的rwx权限:
第一组:该文件拥有者的权限
第二组:该文件拥有者所在组的其他成员对该文件的操作权限
第三组:其他用户组的成员对该文件的操作权限

Samba服务和FTP服务相关推荐

  1. ftp主要完成与远程计算机的连接,2015计算机三级《网络技术》复习重点:远程登录服务和FTP服务...

    2015计算机三级<网络技术>复习重点:远程登录服务和FTP服务 一.远程登录服务(TCP连接)(TCP的23端口服务) 1.远程登录协议 用户使用Telnet命令,使自己的计算机成为远程 ...

  2. 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...

  3. SAMBA服务和FTP服务讲解(week3_day1)--技术流ken

    samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...

  4. SANBA服务和FTP服务

    1.samba服务 Smb主要作为网络通信协议:Smb是基于cs(client/server)架构(架构还有bs,broswer/server):完成linux与windows之间的共享:linux与 ...

  5. FileZilla使用ssh服务和FTP服务连接Ubuntu

    目录 1.FileZilla安装 (1)ssh服务 (2)FTP服务 ①Ubuntu中下载vsftpd并配置文件 1.FileZilla安装 filezilla下载 下载好之后,直接安装,过程中除了更 ...

  6. linux服务篇-FTP服务

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...

  7. linux关闭启动ftp服务器,开启和关闭ftp服务及ftp服务的初步解释

    1.概念解释: ftp服务的提供者称为FTP服务器,它们是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务. FTP的全称是File Transfer Protocol(文件传输协议).专门 ...

  8. java提供ftp服务,搭建ftp服务

    使用Java代码搭建FTP服务器,步骤如下: 1.添加依赖 带版本管理的依赖添加看文章最下边 <dependency><groupId>org.apache.ftpserver ...

  9. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

最新文章

  1. __weak与__block的区别
  2. 鼠标绘图 c语言,c语言高级编程技术教程 图形显示方式与鼠标输入.doc
  3. Hadoop_计算框架MapReduce
  4. random_state的值如何选_DC轴流散热风扇如何选择更合理?
  5. 搜索回溯——N皇后(hdu2553)
  6. mysql schema 同步_GitHub - naryn/mysql-schema-sync: mysql表结构自动同步工具
  7. base——JavaSEJavaEEJavaME的区别【Java中常用的包结构】
  8. python手写汉字识别_python实现简单的文字识别
  9. VASP+VTST编译安装
  10. iPhone屏幕尺寸、statusBar、navigationBar、tabBar高度对比
  11. 您全面了解“含胸拔背”吗?
  12. 正则表达式regex(入门使用)
  13. win10安装super-url出现编码错误解决方法
  14. 我彻底服了,大牛讲解信号与系统(通俗易懂)
  15. 中国十大险峻山路:最弯的公路,7公里68个拐(组图)(ZT)
  16. 关于c语言的输入函数问题
  17. C和C++混合编程(error C2059: syntax error : 'string')
  18. win10任务栏图标无法固定,也无法取消固定,
  19. 性能测试培训总结-强大的nmon监控
  20. 转:Linux系统管理学习路线图

热门文章

  1. Python 自动化办公
  2. 怎么将webm文件转换成MP4格式在手机上播放
  3. JZOJ 幽幽子与森林
  4. matlab算原函数,matlab中原函数如何求解其中f(x)的导数为(22.05/x)的平方减1再开根号...
  5. Fedora12 编译s3c2416 U-Boot1.3.4的Makefile和头文件
  6. vue+springboot通过post请求实现文件下载
  7. 清越光电科创板IPO过会:年营收6.9亿 高新创投是股东
  8. 社群运营如何做,三个需要注意的重点事项
  9. STM32F4xx系列使用HAL库配置SPI-读写FLASH
  10. android studio项目改成android.mk编译APP闪退java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader