samba服務
Smb主要作為網絡通信協議;
Smb是基於cs架構;
完成Linux與windows之間的共享;linux與linux之間共享用NFS
第一步:安裝samba
[root@ken ~]# yum install samba -y
第二步:編輯配置文件
[root@ken ~]# vim /etc/samba/smb.conf ... [ken] comment = ken path = /ken read only = no public = yes ...
第三步:添加訪問用戶
[root@ken ~]# pdbedit -a -u ken 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 [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
配置匿名開放模式
匿名開放模式:是一種最不安全的認證模式,任何人都可以無需密碼驗證而直接登錄到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訪問
第四步:寫入文件進行測試
發現沒有權限
第五步:更改屬主
默認訪問/var/ftp/pub目錄
[root@ken ~]# chown -R ftp: /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
作用
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-keygen的主機
[root@ken ~]# ls .ssh/
id_rsa id_rsa.pub known_hosts
id_rsa: 私鑰(執行ssh-keygen生成)
id_rsa.pub: 公鑰(執行ssh-keygen生成)
known_hosts: 主機信息
從節點:接收秘鑰的主機
[root@ken-node2 ~]# ls .ssh/
authorized_keys
authorized_keys文件內容和主節點的 id_rsa.pub文件內容一致,即保存了公鑰信息。
使用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