SANBA服務和FTP服務


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

 

 

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/pub

2. 增加寫權限
[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.

 

windows端訪問

順利登錄,本地用戶訪問本地用戶的家目錄,可進行操作。

用戶被上傳至用戶家目錄下

[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: 1

Now 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.

登錄節點:在發送完密鑰之后即可不需要輸入密碼即可訪問節點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM