檔案共享服務
-----------------------------------------------------------------------------------------------------------------------------------------------
一、存儲
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 ---伺服器:随機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
關系型資料庫中的表中:
實時查詢資料庫完成使用者認證
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在同一主機:
vsftpd@localhostidentified by 'magedu';
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
(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
添加下面兩項
修改下面一項,原系統使用者無法登入
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為虛拟使用者使用配置檔案目錄
添加如下選項
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檔案系統
十一、版本比較
十二、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
(2)cat /etc/smb.txt
username=wang
password=password
chmod600 /etc/smb.txt
3、結合檔案系統權限,可以實作自己可以讀别人的檔案,但隻能修改删除自己的檔案(粘滞鍵)