linux中傳文件的三種方法、windows

            第一種方法:使用vsftpd服務

ftp配置文件主要內容:
[root@master vsftpd]# cat vsftpd.conf|grep -v ^#|grep -v ^$
anonymous_enable=YES #匿名登陸
local_enable=YES #允許使用本地用戶來登陸ftp
local_root=/var/ftp/pub #
write_enable=YES #開放本地用戶寫的權限
local_umask=022 #FTP上本地的文件權限,默認是077
anon_upload_enable=YES #開放上傳權限
anon_mkdir_write_enable=YES #可創建目錄的同時可以在此目錄中上傳文件
dirmessage_enable=YES #切換目錄時,顯示目錄下.message的內容
xferlog_enable=YES #激活上傳和下傳的日誌
connect_from_port_20=YES #
xferlog_std_format=YES #使用標準的日誌格式
listen=YES #
pam_service_name=vsftpd #獨立的VSFTPD服務器
tcp_wrappers=YES

簡單的ftp文件共享服務搭建
1.使用yum安裝vsftpd yum -y install vsftpd
2.創建共享目錄mkdir -r /var/ftp/pub並附加權限
3.直接複製上面配置內容到vsftpd.conf配置文件中,然後啓動vsftpd服務
可以實現的功能有:匿名和本地用戶可以登錄並上傳文件到服務器中,且上傳者可以刪除自己創建的文件。

在配置完vsftpd.conf後,使用命令重新啓動ftp服務
啓動時報錯:
爲 vsftpd 啓動 vsftpd:500 OOPS: bad bool value in config file for: anon_other_write_enable
linux中傳文件的三種方法、windows
根據該報錯信息,檢查anon_other_write_enable該項有問題,可能是有多餘的空格導致。刪掉後報錯就可以了。
另外查詢末尾有無空格的命令:
cat vsftpd.conf|grep -v ^#|grep -v ^$
cat vsftpd.conf|grep -v ^#|grep -v ^$|grep " $"
linux中傳文件的三種方法、windows

linux中傳文件的三種方法、windows
第二種方法:使用lrzsz服務

使用系統內置的功能,需要在終端上面使用常用的XShell、putty、SecureCRT都可以
linux中傳文件的三種方法、windows
如果不是在終端中使用這些命令,則會出現上面的報錯信息。

1.安裝yum -y insatll lrzsz
從客戶端上傳文件到服務端:rz 【在彈出的框中選擇文件,默認當前路徑下面】
從服務端發送文件到客戶端:sz test.tar.gz
2.如果上傳的文件出現亂碼,無法轉義的問題在,上傳時使用rz -e test.tar.gz,使用-e參數即可
linux中傳文件的三種方法、windows
使用命令rz後,彈出窗選擇文件即可。

                                        第三種方法,使用samba服務

科普:
Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOS over TCP/IP”使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。
安裝samba相關軟件包
[root@server30 ~]# yum -y install samba

啓動samba服務
[root@server30 samba]# systemctl restart smb nmb
[root@server30 samba]# systemctl enable smb nmb

修改samba主配置文件
vim /etc/samba/smb.conf
linux中傳文件的三種方法、windows
查看主配置文件中的信息(對文件進行修改)
1.SELinux對文件或目錄進行修改(修改標籤爲samba_share_t)
linux中傳文件的三種方法、windows
修改安全上下文
科普:在SELINUX中,所有操作系統訪問控制都是以關聯客體和主體的某種訪問控制屬性爲基礎。
訪問控制屬性又名安全上下文。
一個安全上下文由三部分組成:用戶、角色和類型標識符。
注:修改的內容爲主配置文件中的介紹內容
[root@server30 ~]# ll -ldZ /common/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /common/
[root@server30 ~]# chcon -t samba_share_t /common/
[root@server30 ~]# ll -ldZ /common/
drwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 /common/
[root@server30 ~]#
安全級別
security = user
說明:設置用戶訪問Samba Server的驗證方式,一共有四種驗證方式。 

  1. share:用戶訪問Samba Server不需要提供用戶名和口令, 安全性能較低。 
  2. user:Samba Server共享目錄只能被授權的用戶訪問,由Samba Server負責檢查賬號和密碼的正確性。賬號和密碼要在本Samba Server中建立。 
  3. server:依靠其他Windows NT/2000或Samba Server來驗證用戶的賬號和密碼,是一種代理驗證。此種安全模式下,系統管理員可以把所有的Windows用戶和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程服務器可以自動認證全部用戶和口令,如果認證失敗,Samba將使用用戶級安全模式作爲替代的方式。 
  4. domain:域安全級別,使用主域控制器(PDC)來完成認證。
    我們只需要user級別的安全驗證就可以了。
    passdb backend = tdbsam
    注:是否將認證密碼加密。
    linux中傳文件的三種方法、windows
    修改bool值
    查看與samba有關的dir文件
    [root@server30 ~]# getsebool -a |grep samba|grep dir
    samba_create_home_dirs --> off
    samba_enable_home_dirs --> off
    use_samba_home_dirs --> off
    開啓bool值
    [root@server30 ~]# setsebool -P samba_enable_home_dirs 1
    [root@server30 ~]# getsebool -a |grep samba|grep dir
    samba_create_home_dirs --> off
    samba_enable_home_dirs --> on
    use_samba_home_dirs --> off
    修改防火牆
    [root@server30 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=172.16.30.0/24 service name=samba accept' --permanent
    success
    [root@server30 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=172.16.30.0/24 service name=samba-client accept' --permanent
    success
    [root@server30 ~]# firewall-cmd --reload
    success
    主配置文件介紹
    配置關鍵內容解釋:(配置文件中藍色字體有詳細解釋)
    workgroup = STAFF
    注:指明共享所在的工作組
    server string = Samba Server Version %v
    注:客戶端看到服務器的版本信息
    netbios name = MYSERVER
    注:設置Samba Server的NetBIOS名稱,netbios name和workgroup名字不要設置成一樣
    interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
    注:設置Samba Server監聽哪些網卡(網卡名和網卡的IP地址)
    hosts allow = 127. 192.168.12. 192.168.13.
    注:表示允許連接到Samba Server的客戶端,多個參數以空格隔開。可以用一個IP表示,也可以用一個網段表示。
    共享參數解釋:
    comment = Public Stuff
    注:對共享的描述
    path = /home/samba
    注:指定共享目錄的真實路徑
    browseable = yes
    注:指定該共享是否可以瀏覽
    writable = no
    注:指定該共享路徑是否可寫
    添加一個新的共享目錄文件
    vim /etc/samba/smb.conf
    [common]
    path = /common/
    browseable = yes
    valid users = natasha
    第二個共享目錄
    創建目錄storage並修改
    [root@server30 ~]# mkdir /storage
    [root@server30 ~]# ll -ldZ /storage/
    drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /storage/
    [root@server30 ~]# chcon -t samba_share_t /storage/

創建用戶
[root@server30 ~]# useradd sarah
[root@server30 ~]# useradd kitty
修改用戶acl權限
[root@server30 ~]# setfacl -m u:sarah:r-x /storage/
[root@server30 ~]# setfacl -m u:kitty:rwx /storage/
修改samba用戶的密碼
root@server30 samba]# smbpasswd -a sarah
New SMB password:
Retype new SMB password:
Added user sarah
root@server30 samba]# smbpasswd -a kitty
添加一個新的共享目錄文件
vim /etc/samba/smb.conf
[share]
path = /storage
browseable = yes
valid users = sarah, kitty
writable = no
write list = kitty
重啓服務
[root@server30 samba]# systemctl restart smb nmb
客戶端配置
[root@desktop30 ~]# rpm -qa cifs
cifs-utils-6.2-6.el7.x86_64
[root@desktop30 ~]# yum -y install cifs-utils

[root@desktop30 ~]# mount -t cifs -o multiuser,username=sarah,password=redhat,sec=ntlmssp //172.16.30.130/share /mnt/dev

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章