linux初学者-CIFS网络文件系统篇
linux初學(xué)者-CIFS網(wǎng)絡(luò)文件系統(tǒng)篇
CIFS是一種通用網(wǎng)絡(luò)文件系統(tǒng),主要用于網(wǎng)絡(luò)設(shè)備之間的文件共享。CIFS可以在linux系統(tǒng)和windows系統(tǒng)之間共享文件,因此這種文件系統(tǒng)主要用于客戶端是windows系統(tǒng)。
提供CIFS的服務(wù)是SAMBA,下文將介紹SAMBA服務(wù)的一些配置以及用法。
1、SAMBA的安裝和配置
"yum install samba samba-common samba-client -y"。安裝SAMBA服務(wù)。
"systemctl start smb",開啟SAMBA服務(wù)。"systemctl enable smb",開機啟動SAMBA服務(wù)。"systemctl stop firewalld",關(guān)閉防火墻,也可以對防火墻進行配置。
"smbpasswd -a student",在SAMBA服務(wù)中添加一個用戶,這個用戶必須為主機中真是存在的用戶。"pdbedit -L",可以查看添加了哪些用戶。
"smbclient -L //172.25.254.202 -U student",輸入密碼后可以看到SAMBA用戶"student"共享了哪些目錄,如下圖,默認(rèn)會共享用戶的家目錄。
"smbclient //172.25.254.202/student -U student",輸入密碼后可以查看共享目錄"student"下的文件。但是在SElinux開啟的情況下,是無法看到里面文件的,需要"setsebool -P samba_enable_home_dirs on"開啟這個功能之后即可查看。
"mount -o username=student,password=student //172.25.254.202/student /mnt",可以將這個"student"目錄掛載在其他目錄下,在這個目錄下寫入文件就會自動儲存到"student"目錄。
"vim /etc/samba/smb.conf",在配置文件中,修改第89行的"workgroup"可以改變域名,例如下圖,設(shè)置"workgroup = text"。重啟服務(wù)后生效。
可以在第96行加入"hosts deny = IP"或者"hosts allow = IP"來阻止或者允許該IP登陸。如下圖所示,主機名"singlenet"的IP為"172.25.254.202"。
2、共享其他目錄
默認(rèn)的共享目錄是家目錄,如果需要共享其他目錄,如自建一個目錄"/we",里面有"wefile{1..3}"三個文件。
此時需要如下步驟:
a、"vim /etc/samba/smb.conf"。在第322行至第324行輸入以下內(nèi)容:
[DATA]
comment = local directory /we
path = /we
"[DATA]"為共享目錄目標(biāo),可以自己編寫。重啟服務(wù)。"smbclient -L //172.25.254.202 -U student",可以看到這個"DATA"目錄,但是卻無法通過"smbclient //172.25.254.202/DATA -U student"看到這個目錄里面的內(nèi)容。這是因為SElinux的影響。
b、"semanage fcontext -a -t samba_share_t '/we(/.*)?'"。修改自建目錄"/we"的安全上下文,并通過"restorecon -RvvF /we"刷新。
完成后重啟服務(wù)就可以通過"smbclient //172.25.254.202/DATA -U student"看到這個目錄里面的內(nèi)容了。
上述的步驟適合于自建目錄,但是如果是系統(tǒng)的目錄呢?就無法修改目錄的安全上下文了。例如下圖第326行至第328行,共享"/mnt"目錄,目錄下有"mntfile{1..3}"三個文件。
此時就需要用"setsebool -P samba_export_all_ro on"關(guān)閉在SAMBA中的安全上下文功能。完成后就可以看到"/mnt"下的文件了。需要注意的是,"samba_export_all_ro"打開后,因為安全上下文失效,所以共享自建目錄也不需要再修改安全上下文了。
3、匿名用戶登陸
在配置文件"/etc/samba/smb.conf"中共享文件后輸入"browseable = no"就會在查詢是不顯示這個目錄,但是這個目錄依舊存在,可以看到其中的文件。如下圖第325行所示。
SAMBA也是可以通過匿名用戶登陸的,需要在配置文件"/etc/samba/smb.conf"中加入"guest ok = yes",如下圖第326行所示,這是開啟了匿名用戶登陸。
重啟服務(wù)后就可以不通過用戶,而直接輸入"smbclient //172.25.254.202/DATA"直接登陸查看里面的文件。
但是,上述設(shè)置之后雖然可以匿名登陸,但是無法掛載在某個目錄下,此時需要在配置文件中輸入"map to guest = bad user",這是使匿名用戶登陸或者掛載時以"guest"用戶進行。重啟服務(wù)后就可以進行掛載了。
如果匿名用戶掛載需要開機自動掛載,則在"/etc/fstab"文件中輸入"http://172.25.254.202/DATA /mnt cifs defaults,username=guest 0 0"即可。
4、目錄掛載后的寫權(quán)限
4.1、開啟寫權(quán)限
如下圖所示,目錄掛載之后并不能在其中建立或者刪除文件。這是因為并沒有開啟寫權(quán)限。
開啟寫權(quán)限需要在配置文件中輸入第327行的"writable = yes",并給予共享目錄"/we"777權(quán)限,完成后還必須修改"/we"目錄的安全上下文。完成后重新掛載就可以進行文件的建立和刪除了。
與共享系統(tǒng)目錄時相同,系統(tǒng)目錄無法修改安全上下文,此時需要輸入"setsebool -P samba_export_all_rw on"開啟SElinux中的寫權(quán)限功能,修改后系統(tǒng)目錄掛載后就可以建立和刪除文件了。開啟功能后,自建目錄也不需要再修改安全上下文。
4.2、寫權(quán)限的限定
上述配置是使所有用戶在掛載時都可以建立或者刪除文件,有時還需要對一些用戶進行限制,例如現(xiàn)有兩個用戶"student"和"class",想要"student"可以建立文件,而"class"用戶不可以。則需要在配置文件中輸入"write list = student",這時只有"student"用戶擁有寫權(quán)限,則可以解決這個問題。
還可以在將配置文件"write list = "后的"student"該為"+student",這表示屬于student用戶組的用戶擁有寫權(quán)限,如下圖所示,將student用戶組添加為"class"用戶的附加組,此時"class"用戶就可以進行文件的建立和刪除了。
4.3、建立文件的歸屬
共享目錄掛載之后建立的文件默認(rèn)的是以哪個用戶的身份登陸,文件的所有人就為哪個用戶。可以在配置文件中輸入下圖第335行的"admin users = class",就可以使得以class用戶在掛載這個共享目錄后,以root用戶的身份進行操作,如下圖所示。可以看出設(shè)置之后建立的文件"file1"的文件所有人為"root",而之前以student用戶掛載建立的文件"file3"的文件所有人為"student"。
5、用戶的權(quán)限管理
如下圖所示,以root用戶掛載一個共享目錄,但是切換到普通用戶kiosk,發(fā)現(xiàn)這個普通用戶也可以看到里面的文件,這顯然是很不安全的,也不合理,所以需要對客戶端的用戶進行權(quán)限管理。即客戶端的其他用戶需要進行認(rèn)證才可以查看掛載內(nèi)容。
其設(shè)置步驟如下所示:
"yum install cifs-utils -y"。在客戶端上,管理的軟件是"cifs-utils"。
"vim /root/smbpassword"。在這個文件中寫入SAMBA服務(wù)上真實存在的用戶和密碼,文件名稱可以自行編輯,完成后為了安全給予600權(quán)限。
"mount -o credentials=/root/smbpassword,multiuser,sec=ntlmssp //172.25.254.202/SYSTEM /mnt"。如下圖所示,以此命令進行掛載,掛載后kiosk用戶無法看到掛載目錄的文件。
如果kiosk用戶需要看到里面的文件,則需要進行用戶身份驗證,kiosk用戶輸入"cifscreds add -u class 172.25.254.202"輸入密碼后即可完成認(rèn)證,認(rèn)證可以輸入SAMBA服務(wù)中的任意一個真實存在的用戶。
kiosk用戶在掛載目錄下建立一個文件"kioskfile",如下圖,在客戶端可以看到這個文件是屬于kiosk用戶的,但在SAMBA服務(wù)端,可以看到這個文件是屬于class用戶的。這是因為kiosk用戶建立的文件在SAMBA服務(wù)端是屬于客戶端kiosk用戶的uid在服務(wù)端所對應(yīng)的那個用戶的。kiosk的uid為1001,在SAMBA服務(wù)端,1001的uid對應(yīng)的用戶為class。
上述即是在客戶端管理普通用戶對共享目錄操作的方式。
還可以在配置文件中寫入下圖第328行中的"valid users = student",這是使得只能以student用戶進行掛載,也可以寫為"valid users = @student",這是使得只能student用戶組內(nèi)的用戶可以進行掛載。
以上就是linux系統(tǒng)和windows系統(tǒng)通用的共享文件系統(tǒng)CIFS的主要內(nèi)容。SAMBA服務(wù)主要用于客戶端是windows系統(tǒng)的文件共享。而linux系統(tǒng)之間的文件共享是采用NFS的共享文件系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的linux初学者-CIFS网络文件系统篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 品牌浴室防滑地垫材料
- 下一篇: Ad2(ad2摩托车)