文件共享服務

                                       文件共享服務

-----------------------------------------------------------------------------------------------------------------------------------------------

一、存儲

1、直接存儲:DAS

2、網絡存儲

(1)傳統存儲,共享,EMC提供的存儲價格貴

NAS:nfs,cifs

SAN:iSCSI(tcp/ip),FC SAN(光纖式傳輸網絡存儲),Block(塊級別存儲設備不建議多臺同時掛載使用)

(2)SDS(Software Defined Storage),軟件定義存儲

分佈式存儲

對象

文件系統

二、文件傳輸協議FTP

1、File Transfer Protocol 早期的三個應用級協議之一

2、基於C/S結構

3、雙通道協議:數據和命令連接

4、數據傳輸格式:二進制(默認)和文本

5、兩種模式:服務器角度

主動(PORT style):服務器主動連接

命令(控制):客戶端:隨機port ---服務器:tcp21

數據:客戶端:隨機port ---服務器:tcp20

被動(PASV style):客戶端主動連接

命令(控制):客戶端:隨機port ---服務器:tcp21

數據:客戶端:隨機port ---服務器:隨機port

6、服務器被動模式數據端口示例:

227 Entering Passive Mode (172,16,0,1,224,59)

服務器數據端口爲:224*256+59

三、ftp服務

1、狀態碼:

1XX:信息125:數據連接打開

2XX:成功類狀態200:命令OK 230:登錄成功

3XX:補充類331:用戶名OK

4XX:客戶端錯誤425:不能打開數據連接

5XX:服務器錯誤530:不能登錄

2、用戶認證:

匿名用戶:ftp,anonymous,對應Linux用戶ftp

系統用戶:Linux用戶,用戶/etc/passwd,密碼/etc/shadow

虛擬用戶:特定服務的專用用戶,獨立的用戶/密碼文件

nsswitch:networkservice switch名稱解析框架

pam:pluggableauthentication module 用戶認證

/lib64/security /etc/pam.d/ /etc/pam.conf

四、vstpd服務

1、由vsftpd包提供

2、不再由xinetd管理

3、用戶認證配置文件:/etc/pam.d/vsftpd

4、服務腳本:/usr/lib/systemd/system/vsftpd.service

/etc/rc.d/init.d/vsftpd

5、配置文件:/etc/vsftpd/vsftpd.conf

man 5 vsftpd.conf

格式:option=value

注意:= 前後不要有空格

6、匿名用戶(映射爲系統用戶ftp ,可認爲是ftp用戶在做)共享文件位置:/var/ftp

7、系統用戶共享文件位置:用戶家目錄

8、虛擬用戶共享文件位置:爲其映射的系統用戶的家目錄

五、vsftpd服務配置

1、命令端口

listen_port=21

2、主動模式端口

connect_from_port_20=YES 主動模式端口爲20

ftp_data_port=20 (默認)指定主動模式的端口

3、被動模式端口範圍

linux客戶端默認使用被動模式

windows 客戶端默認使用主動模式

pasv_min_port=6000 0爲隨機分配

pasv_max_port=6010

4、使用當地時間

use_localtime=YES 使用當地時間(默認爲NO,使用GMT)

5、匿名用戶

anonymous_enable=YES 支持匿名用戶

no_anon_password=YES(默認NO) 匿名用戶略過口令檢查anon_world_readable_only(默認YES)只能下載全部讀的文件

anon_upload_enable=YES 匿名上傳,注意:文件系統權限

anon_mkdir_write_enable=YES匿名建目錄

anon_umask=0333 指定匿名上傳文件的umask,默認077

anon_other_write_enable=YES 可刪除和修改上傳的文件

指定上傳文件的默認的所有者和權限

chown_uploads=YES(默認NO)

chown_username=wang

chown_upload_mode=0644

6、Linux系統用戶

local_enable=YES 是否允許linux用戶登錄

write_enable=YES 允許linux用戶上傳文件

local_umask=022 指定系統用戶上傳文件的默認權限

guest_enable=YES 所有系統用戶都映射成guest用戶

guest_username=ftp 配合上面選項才生效,指定guest用戶

local_root=/ftprootguest用戶登錄所在目錄

7、禁錮所有系統用戶在家目錄中

chroot_local_user=YES(默認NO,不禁錮)禁錮系統用戶

8、禁錮或不禁錮特定的系統用戶在家目錄中,與上面設置功能相反

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

當chroot_local_user=YES時,則chroot_list中用戶不禁錮

當chroot_local_user=NO時,則chroot_list中用戶禁錮

9、wu-ftp日誌:默認啓用

xferlog_enable=YES (默認)啓用記錄上傳下載日誌

xferlog_std_format=YES (默認)使用wu-ftp日誌格式

xferlog_file=/var/log/xferlog(默認)可自動生成記錄上傳下載日誌

10、vsftpd日誌:默認不啓用

dual_log_enable=YES 使用vsftpd日誌格式,默認不啓用

vsftpd_log_file=/var/log/vsftpd.log(默認)可自動生成

11、登錄提示信息

ftpd_banner=“welcometo mage ftp server"

banner_file=/etc/vsftpd/ftpbanner.txt 優先上面項生效

12、目錄訪問提示信息

dirmessage_enable=YES (默認)

message_file=.message(默認)信息存放在指定目錄下.message

13、使用pam(Pluggable Authentication Modules)完成用戶認證

pam_service_name=vsftpd

pam配置文件:/etc/pam.d/vsftpd

/etc/vsftpd/ftpusers默認文件中用戶拒絕登錄

14、是否啓用控制用戶登錄的列表文件

userlist_enable=YES    默認有此設置

userlist_deny=YES(默認值)  黑名單,不提示口令,NO爲白名單

userlist_file=/etc/vsftpd/users_list 此爲默認值

15、vsftpd服務指定用戶身份運行

nopriv_user=nobody (默認值)

16、連接數限制

max_clients=0 最大併發連接數

max_per_ip=0 每個IP同時發起的最大連接數

17、傳輸速率:字節/秒

anon_max_rate=0 匿名用戶的最大傳輸速率

local_max_rate=0 本地用戶的最大傳輸速率

18、連接時間:秒爲單位,如果網絡延遲大,這些調整數值較大較好

connect_timeout=60 主動模式數據連接超時時長

accept_timeout=60 被動模式數據連接超時時長

data_connection_timeout=300 數據連接無數據輸超時時長,數據連接空閒時長

idle_session_timeout=60 無命令操作超時時長

19、優先以文本方式傳輸

ascii_upload_enable=YES

ascii_download_enable=YES

20、配置FTP服務以非獨立服務方運行

vim /etc/vsftpd/vsftpd.conf/

listen=NO,默認爲獨立方式

vim /etc/xinetd.d/vsftpd

service ftp

{

flags = REUSE

socket_type= stream

wait = no

user = root

server = /usr/sbin/vsftpd

log_on_failure+= USERID

disable = no

}

六、vsftpd虛擬用戶

vsftpd虛擬用戶

1、虛擬用戶:

所有虛擬用戶會統一映射爲一個指定的系統帳號:訪問共享位置,即爲此係統帳號的家目錄

各虛擬用戶可被賦予不同的訪問權限,通過匿名用戶的權限控制參數進行指定

2、虛擬用戶帳號的存儲方式:

文件:編輯文本文件,此文件需要被編碼爲hash格式

奇數行爲用戶名,偶數行爲密碼

db_load -T -t hash -f vusers.txt vusers.db

image.png

關係型數據庫中的表中:

實時查詢數據庫完成用戶認證

mysql庫:pam要依賴於pam-mysql

/lib64/security/pam_mysql.so

/usr/share/doc/pam_mysql-0.7/README

七、基於文件驗證的vsftpd虛擬用戶

1、創建用戶數據庫文件

vim /etc/vsftpd/vusers.txt

wang

wangpass

mage

magepass

chenux

chenuxpass

cd /etc/vsftpd/

db_load -T -t hash -f vusers.txt vusers.db  ----->db工具

chmod600 vusers.db

2、創建用戶和訪問FTP目錄

useradd vuser -d /var/ftproot-s /sbin/nologin

chmod +rx /var/ftproot/

centos7 還需要執行以下操作:

chmod -w /var/ftproot/

mkdir /var/ftproot/upload

setfacl-m u:vuser:rwx /var/ftproot/upload

3、創建pam配置文件

vim /etc/pam.d/vsftpd.db

auth required pam_userdb.so db=/etc/vsftpd/vusers ------>此處不能帶.db後綴

account required pam_userdb.so db=/etc/vsftpd/vusers

4、指定pam配置文件

vim /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vuser

pam_service_name=vsftpd.db

5、SELinux設置:

禁用SELinux或者setsebool -P ftpd_full_access1

6、虛擬用戶建立獨立的配置文件

(1)mdkir/etc/vsftpd/vusers.d/ 創建配置文件存放的路徑

(2)vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers.d/

(3)cd /etc/vsftpd/vusers.d/ 進入此目錄,systemctl restarted vsftpd重啓服務,看是否依然可用

(4)允許wang用戶可讀寫,其它用戶只讀

(5)vim wang創建各用戶自已的配置文件

anon_upload_enable=YES  ----->能上傳權限

anon_mkdir_write_enable=YES ----->能寫入權限

anon_other_write_enable=YES ----->能刪除權限

(6)vim mage 創建各用戶自已的配置文件

local_root=/ftproot 登錄目錄改變至指定的目錄

八、基於mysql驗證vsftpd虛擬用戶

說明:本實驗在兩臺CentOS主機上實現,一臺做爲FTP服務器,一臺做數據庫服務器

1、安裝所需要包和包組:

在數據庫服務器上安裝包:

Centos7:在數據庫服務器上安裝

yum –y install mariadb-server

systemctlstart mariadb.service

systemctlenable mariadb

(1)Centos6:在數據庫服務器上安裝

yum –y install mysql-server

在FTP服務器上安裝vsftpd和pam_mysql包

centos6:pam_mysql由epel6的源中提供

yum install vsftpdpam_mysql

(2)centos7:無對應rpm包,需手動編譯安裝

yum -y groupinstall"Development Tools"

yum -y install mariadb-develpam-develvsftpd

下載pam_mysql-0.7RC1.tar.gz

tar xvfpam_mysql-0.7RC1.tar.gz

cd pam_mysql-0.7RC1/

./configure --with-pam-mods-dir=/lib64/security --with-mysql=/usr--with-pam=/usr

make

make install

2、在數據庫服務器上創建虛擬用戶賬號

(1)建立存儲虛擬用戶數據庫和連接的數據庫用戶

mysql> CREATE DATABASE vsftpd;

mysql> SHOW DATABASES;

<1>ftp服務和mysql不在同一主機:

mysql> GRANT SELECT ON vsftpd.* TO

vsftpd@'172.16.%.%' IDENTIFIED BY 'magedu';

<2>ftp服務和mysql在同一主機:

mysql> GRANT SELECT ON vsftpd.* TO

vsftpd@localhostIDENTIFIED BY 'magedu';

mysql> GRANT SELECT ON vsftpd.* TO

vsftpd@'127.0.0.1' IDENTIFIED BY 'magedu';

mysql> FLUSH PRIVILEGES;

(2)準備相關表

mysql> USE vsftpd;

Mysql> SHOW TABLES;

mysql> CREATE TABLE users (

id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,

name CHAR(50) BINARY NOT NULL,

password CHAR(48) BINARY NOT NULL

);

mysql>DESC users;

測試連接

mysql-uvsftpd-h mysqlserver-pmagedu

mysql> SHOW DATABASES;

(3)添加虛擬用戶

根據需要添加所需要的用戶,爲了安全應該使用PASSWORD函數加密其密碼後存儲

mysql> DESC users;

mysql> INSERT INTOusers(name,password) values(‘wang',password('magedu'));

mysql> INSERT INTOusers(name,password) values(‘mage',password('magedu'));

mysql> SELECT * FROM users;

3、在FTP服務器上配置vsftpd服務

(1)在FTP服務器上建立pam認證所需文件

vi /etc/pam.d/vsftpd.mysql添加如下兩行

<1>authrequired pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

<2>account required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

注意:參考README文檔,選擇正確的加密方式

crypt是加密方式,0表示不加密,1表示crypt(3)加密,2表示使用mysqlpassword()函數加密,3表示md5加密,4表示sha1加密

<3>配置字段說明

•auth表示認證

•account 驗證賬號密碼正常使用

•required 表示認證要通過

•pam_mysql.so模塊是默認的相對路徑,是相對/lib64/security/路徑而言,也可以寫絕對路徑;後面爲給此模塊傳遞的參數

•user=vsftpd爲登錄mysql的用戶

•passwd=magedu登錄mysql的的密碼

•host=mysqlservermysql服務器的主機名或ip地址

•db=vsftpd指定連接msyql的數據庫名稱

•table=users 指定連接數據庫中的表名

•usercolumn=name 當做用戶名的字段

•passwdcolumn=password 當做用戶名字段的密碼

•crypt=2 密碼的加密方式爲mysqlpassword()函數加密

(2)建立相應用戶和修改vsftpd配置文件,使其適應mysql認證

建立虛擬用戶映射的系統用戶及對應的目錄

useradd -s /sbin/nologin -d /var/ftprootv user

chmod555 /var/ftprootcentos7 需除去ftp根目錄的寫權限

mkdir/var/ftproot/{upload,pub}

setfacl –m u:vuser:rwx /var/ftproot/upload

確保/etc/vsftpd.conf中已經啓用了以下選項

anonymous_enable=YES

添加下面兩項

guest_enable=YES

guest_username=vuser

修改下面一項,原系統用戶無法登錄

pam_service_name=vsftpd.mysql

4、啓動vsftpd服務

service vsftpdstart;systemctlstart vsftpd

chkconfigvsftpdon;systemctlenable vsftpd

查看端口開啓情況

netstat-tnlp|grep :21

5、Selinux相關設置:在FTP服務器上執行

restorecon-R /lib64/security

setsebool-P ftpd_connect_db1

setsebool-P ftp_home_dir1

chcon -R -t public_content_rw_t /var/ftproot/

6、測試:利用FTP客戶端工具,以虛擬用戶登錄驗證結果

tail /var/log/secure

7、在FTP服務器上配置虛擬用戶具有不同的訪問權限

vsftpd可以在配置文件目錄中爲每個用戶提供單獨的配置文件以定義其ftp服務訪問權限,每個虛擬用戶的配置文件名同虛擬用戶的用戶名。配置文件目錄可以是任意未使用目錄,只需要在vsftpd.conf指定其路徑及名稱即可

(1)配置vsftpd爲虛擬用戶使用配置文件目錄

vim /etc/vsftpd/vsftpd.conf

添加如下選項

user_config_dir=/etc/vsftpd/vusers_config

(2)創建所需要目錄,併爲虛擬用戶提供配置文件

mkdir/etc/vsftpd/vusers_config/

cd /etc/vsftpd/vusers_config/

touch wangmage

(3)配置虛擬用戶的訪問權限

虛擬用戶對vsftpd服務的訪問權限是通過匿名用戶的相關指令進行的。如要讓用戶wang具有上傳文件的權限,可修改/etc/vsftpd/vusers_config/wang文件,在裏面添加如下選項並設置爲YES即可,只讀則設爲NO

注意:需確保對應的映射用戶對於文件系統有寫權限

anon_upload_enable={YES|NO}

anon_mkdir_write_enable={YES|NO}

anon_other_write_enable={YES|NO}

local_root=/ftproot登錄目錄改變至指定的目錄

九、NFS服務

1、NFS:Network File System 網絡文件系統,基於內核的文件系統。Sun公司開發,通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件,基於RPC(Remote Procedure Call Protocol遠程過程調用)實現

2、RPC採用C/S模式。客戶機請求程序調用進程發送一個有進程參數的調用信息到服務進程,然後等待應答信息。在服務器端,進程保持睡眠狀態(即阻塞)直到調用信息到達爲止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答覆信息,然後等待下一個調用信息,最後,客戶端調用進程接收答覆信息,獲得進程結果,然後調用執行繼續進行

3、NFS優勢:節省本地存儲空間,將常用的數據,如home目錄,存放在NFS服務器上且可以通過網絡訪問,本地終端將可減少自身存儲空間的使用

十、NFS文件系統

image.png

十一、版本比較

image.png

十二、NFS服務介紹

軟件包:nfs-utils,服務端和客戶端都需要安裝

Kernel支持:nfs.ko

端口:2049(nfsd), 其它端口由portmap(111)分配

配置文件:/etc/exports,/etc/exports.d/*.exports

CentOS7不支持同一目錄同時用nfs和samba共享,因爲使用鎖機制不同

相關軟件包:rpcbind(必須),tcp_wrappers

CentOS6開始portmap進程由rpcbind代替

NFS服務主要進程:

rpc.nfsd最主要的NFS進程,管理客戶端是否可登錄

rpc.mountd掛載和卸載NFS文件系統,包括權限管理

rpc.lockd非必要,管理文件鎖,避免同時寫出錯

rpc.statd非必要,檢查文件一致性,可修復文件

日誌:/var/lib/nfs/

十三、配置防火牆(CentOS6需要配置,CentOS7不用配置)

1、配置防火牆,開放NFS服務

配置NFS使用固定端口

vim /etc/sysconfig/nfs

RQUOTAD_PORT=875

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

STATD_PORT=662

STATD_OUTGOING_PORT=2020

2、防火牆除開放上述端口,還需開放TCP和UDP的111和2049共4個端口

十四、NFS配置文件

1、導出的文件系統的格式:

/dir 主機1(opt1,opt2)  主機2(opt1,opt2)...

2、#開始爲註釋

3、主機格式:

(1)單個主機:ipv4,ipv6,FQDN

(2)IP networks:兩種掩碼格式均支持

(3)172.18.0.0/255.255.0.0

(4)172.18.0.0/16

(5)wildcards:主機名通配,例如*.magedu.com,IP不可以通配

(6)netgroups:NIS域的主機組,@group_name,NIS:網絡信息服務

(7)anonymous:表示使用*通配所有客戶端

4、每個條目指定目錄導出到的哪些主機,及相關的權限和選項

(1)默認選項:(ro,sync,root_squash,no_all_squash),root_squash:壓縮root用戶權限

(2)ro,rw只讀和讀寫

(3)async異步,數據變化後不立即寫磁盤,性能高

(4)sync(1.0.0後爲默認)同步,數據在請求時立即寫入共享

(5)no_all_squash(默認)保留共享文件的UID和GID

(6)all_squash所有遠程用戶(包括root)都變成nfsnobody,壓縮所有用戶

(7)root_squash(默認)遠程root映射爲nfsnobody,UID爲65534,早期版本是4294967294 (nfsnobody)

(8)no_root_squash遠程root映射成root用戶,不壓縮root用戶

(9)anonuid和anongid指明匿名用戶映射爲特定用戶UID和組GID,而非nfsnobody,可配合all_squash使用

示例:在/etc/exports文件中定義導出目錄

/myshare server.example.com

/myshare *.example.com

/myshare server?.example.com

/myshare server[0-20].example.com

/myshare 172.25.11.10

/myshare 172.25.0.0/16

/myshare 2000:472:18:b51:c32:a21

/myshare 2000:472:18:b51::/64

/myshare *.example.com172.25.0.0/16

/myshare desktop.example.com(ro)

/myshare desktop.example.com(ro) server[0-20].example.com(rw)

/myshare diskless.example.com(rw,no_root_squash)

5、NFS工具

rpcinfo

rpcinfo-p hostname

rpcinfo–s hostname 查看RPC註冊程序

exportfs

–v 查看本機所有NFS共享

–r 重讀配置文件,並共享目錄

–a 輸出本機所有共享

–au 停止本機所有共享

showmount-e hostname

mount.nfs掛載工具

NFSv4支持通過掛載NFS服務器的共享“根”,從而瀏覽NFS服務器上的共享目錄列表

mount nfsserver:/ /mnt/nfs

十五、客戶端NFS掛載

1、基於安全考慮,建議使用nosuid,nodev,noexec掛載選項

2、NFS相關的掛載選項:

fg(默認)前臺掛載,bg後臺掛載

hard(默認)持續請求,soft 非持續請求

intr和hard配合,請求可中斷

rsize和wsize一次讀和寫數據最大字節數,rsize=32768

_netdev無網絡不掛載

3、示例:

mount -o rw,nosuid,fg,hard,intr172.16.0.1:/testdir/mnt/nfs/

4、開機掛載:/etc/fstab

172.16.0.1:/public /mnt/nfs nfs defaults 0 0

十六、自動掛載

1、可使用autofs按需要掛載NFS共享,在空閒時自動卸載

2、由autofs包提供

3、系統管理器指定由/etc/auto.master自動掛載器守護進程控制的掛載點

4、自動掛載監視器訪問這些目錄並按要求掛載文件系統

5、文件系統在失活的指定間隔5分鐘後會自動卸載

6、爲所有導出到網絡中的NFS啓用特殊匹配-host 至“browse”

7、參看幫助:man 5 autofs

8、支持含通配符的目錄名

9、* server:/export/&

十七、SAMBA服務簡介

1、SMB:Server Message Block服務器消息塊,IBM發佈,最早是DOS網絡文件共享協議

2、Cifs:common internet file system,微軟基於SMB發佈

3、SAMBA:1991年Andrew Tridgell,實現windows和UNIX相通

4、SAMBA的功能:

共享文件和打印,實現在線編輯

實現登錄SAMBA用戶的身份認證

可以進行NetBIOS名稱解析

外圍設備共享

5、計算機網絡管理模式:

工作組WORKGROUP:計算機對等關係,帳號信息各自管理

域DOMAIN:C/S結構,帳號信息集中管理,DC,AD

十八、SAMBA介紹

1、相關包:

Samba 提供smb服務

Samba-client 客戶端軟件

samba-common 通用軟件

cifs-utilssmb客戶端工具

samba-winbind和AD相關(AD:windows的AD域)

2、相關服務進程:

smbd提供smb(cifs)服務TCP:139,445

nmbd NetBIOS名稱解析UDP:137,138

3、主配置文件:/etc/samba/smb.conf

幫助參看:man smb.conf

4、語法檢查:testparm [-v] [/etc/samba/smb.conf]

5、客戶端工具:不掛載交互時使用:smbclient

掛載共享文件夾:mount.cifs

十九、SAMBA服務器配置

1、smb.conf繼承了.ini文件的格式,用[ ] 分成不同的部分

2、全局設置:

[global] 服務器通用或全局設置的部分

可加入host allow = 127. 172.20.  ---->白名單

    host deny = all                         ---->黑名單

    log file = /var/log/samba/log.%m

3、特定共享設置:

[homes] 用戶的家目錄共享

[printers] 定義打印機資源和服務

[sharename] 自定義的共享目錄配置

4、其中:#和;開頭的語句爲註釋,大小寫不敏感

5、宏定義:

%m 客戶端主機的NetBIOS名

%H 當前用戶家目錄路徑

%g 當前用戶所屬組

%L samba服務器的NetBIOS名

%T 當前日期和時間

%M 客戶端主機的FQDN

%U 當前用戶用戶名

%h samba服務器的主機名

%I 客戶端主機的IP

%S 可登錄的用戶名

二十、SAMBA服務器全局配置

1、workgroup 指定工作組名稱

2、server string 主機註釋信息

3、netbiosname 指定NetBIOS名

4、interfaces 指定服務偵聽接口和IP

5、hosts allow 可用“,” ,空格,或tab分隔,默認允許所有主機訪問,也可在每個共享獨立配置,如在[global]設置,將應用並覆蓋所有共享設置

IPv4 network/prefix: 172.25.0.0/24 IPv4前綴: 172.25.0.

IPv4 network/netmask: 172.25.0.0/255.255.255.0

主機名: desktop.example.com

以example.com後綴的主機名: .example.com

示例:

hosts allow = 172.25.

hosts allow = 172.25. .example.com

6、hosts deny 拒絕指定主機訪問

7、config file=/etc/samba/conf.d/%U 用戶獨立的配置文件

8、Log file=/var/log/samba/log.%m不同客戶機採用不同日誌

9、log level = 2 日誌級別,默認爲0,不記錄日誌

10、max log size=50 日誌文件達到50K,將輪循rotate,單位KB

11、Security三種認證方式:

share:匿名(CentOS7不再支持)

user:samba用戶(採有linux用戶,samba的獨立口令)

domain:使用DC(DOMAINCONTROLLER)認證

12、passdb backend = tdbsam密碼數據庫格式

13、實現samba用戶:

包:samba -common -tools

工具:smbpasswd pdbedit

samba用戶須是Linux用戶,建議使用/sbin/nologin

二十一、管理SAMBA用戶

1、添加samba用戶

smbpasswd -a <user>

pdbedit -a -u <user>

2、修改用戶密碼

smbpasswd<user>

3、刪除用戶和密碼:

smbpasswd -x <user>

pdbedit -x -u <user>

4、查看samba用戶列表:

/var/lib/samba/private/passdb.tdb

pdbedit -L -v

5、查看samba服務器狀態

smbstatus

二十二、配置目錄共享

每個共享目錄應該有獨立的[ ]部分

[共享名稱] 遠程網絡看到的共享名稱

comment 註釋信息

path 所共享的目錄路徑

public 能否被guest訪問的共享,默認no,和guest ok 類似

browsable是否允許所有用戶瀏覽此共享,默認爲yes,no爲隱藏

writable=yes 可以被所有用戶讀寫,默認爲no

read only=no 和writable=yes等價,如與以上設置衝突,放在後面的設置生效,默認只讀

write list 三種形式:用戶,@組名,+組名,用,分隔如writable=no,列表中用戶或組可讀寫,不在列表中用戶只讀

valid users 特定用戶才能訪問該共享,如爲空,將允許所有用戶,用戶名之間用空格分隔

二十三、基於特定用戶和組的共享

編輯/etc/samba/smb.conf

[share]

path = /app/dir

valid users=wang,@admins

writeable = no

browseable= no

二十四、SMB客戶端訪問

1、UNC路徑: Universal Naming Convention,通用命名規範

格式:\\sambaserver\sharename

2、終端下使用smbclient登錄服務器

smbclient-L instructor.example.com

smbclient-L instructor.example.com -U wang

>cddirectory

>getfile1

> put file2

smbclient //instructor.example.com/shared -U wang

可以使用-U選項來指定用戶%密碼,或通過設置和導出USER和PASSWD環境變量來指定

二十五、掛載CIFS文件系統

1、手動掛載

mount -t cifs-o user=wang,password=magedu //server//shared /mnt/smb

2、開機自動掛載

(1)cat /etc/fstab可以用文件代替用戶名和密碼的輸入

//server/homes /mnt cifs credentials=/etc/smb.txt 0 0

image.png

(2)cat /etc/smb.txt

username=wang

password=password

chmod600 /etc/smb.txt

3、結合文件系統權限,可以實現自己可以讀別人的文件,但只能修改刪除自己的文件(粘滯鍵)


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