真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux掛載NTFS格式的U盤、移動硬盤后無法更改權(quán)限

使用NTFS-3G實(shí)現(xiàn)Linux 掛載  NTFS分區(qū) 

但是掛載后權(quán)限有問題!
轉(zhuǎn)載:  原文地址:
http://blog.sciencenet.cn/blog-430991-692444.html


本文試圖通過探求達(dá)到讓linux系統(tǒng)掛載的移動硬盤具有可執(zhí)行權(quán)限之目的的途徑來梳理有關(guān)linux系統(tǒng)設(shè)備掛載、用戶和群組、以及文檔權(quán)限方面的基礎(chǔ)知識。

創(chuàng)新互聯(lián)建站長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為杏花嶺企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計,杏花嶺網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

一、提出問題

當(dāng)插入一個windows分區(qū)格式的移動硬盤或者U盤時,linux系統(tǒng)自動掛載該移動硬盤到/media目錄下,通過ls -al查看其權(quán)限,顯示為:drwx------,證明我們可以進(jìn)入到該盤符目錄,但當(dāng)進(jìn)一步查看該盤符下的某可執(zhí)行文件的權(quán)限時,發(fā)現(xiàn)其為-rw-------,即可以對該文件進(jìn)行讀寫操作,但不能執(zhí)行該文件,通過chmod更改權(quán)限也無濟(jì)于事,此時如何獲得執(zhí)行權(quán)限?(再比如在移動硬盤上有一源代碼,通過編譯產(chǎn)生了目標(biāo)程序,但是當(dāng)通過./來執(zhí)行時,卻告知沒有權(quán)限,同時sudo chmod +x也不起任何作用,在實(shí)際工作中遇到這樣的情況時,一般可以通過將源碼拷貝到linux系統(tǒng)磁盤中進(jìn)行編譯或者將編譯好的目標(biāo)程序拷貝到linux系統(tǒng)的磁盤中再使用chmod更改權(quán)限來解決,但有時候這樣來回拷貝費(fèi)時費(fèi)力,如果能直接讓linux系統(tǒng)掛載的移動硬盤具有執(zhí)行權(quán)限就方便多了)

二、linux設(shè)備掛載

這一問題涉及到硬盤掛載,首先需要了解linux系統(tǒng)中與磁盤掛載相關(guān)的兩個系統(tǒng)文件,即/etc/fstab和/etc/mtab,前者是系統(tǒng)分區(qū)信息以及系統(tǒng)啟動時磁盤的掛載參數(shù),該文件是一個靜態(tài)文件(系統(tǒng)啟動后不再改變,如人為改變,需要重啟系統(tǒng));后者是當(dāng)前系統(tǒng)中已經(jīng)掛載的磁盤列表,該文件是一個動態(tài)文件,即隨系統(tǒng)mount和umount文件系統(tǒng)而隨時發(fā)生改變,例如當(dāng)插入U盤時,系統(tǒng)在mtab文件中寫入該磁盤的相關(guān)信息,當(dāng)拔下U盤時,系統(tǒng)隨之刪除mtab文件中有關(guān)該磁盤的信息。

fstab文件內(nèi)容的格式如下:

# /etc/fstab: static file system information.
#
#                                

……
proc                       /proc                   proc    nodev,noexec,nosuid              0                 0

……

mtab文件內(nèi)容的格式如下:

……
proc                       /proc                    proc   rw,noexec,nosuid,nodev          0                 0

……

可見fstab和mtab文件中的格式是一樣的,都是按照“設(shè)備名稱—掛載點(diǎn)—分區(qū)類型—掛載選項(xiàng)—dump選項(xiàng)—pass選項(xiàng)”的格式組織列表。

1、設(shè)備名稱是指系統(tǒng)中設(shè)備的名稱,比如/dev/sda1或/etc/sdb1或/etc/sdc1等,這些設(shè)備名稱可以通過sudo fdisk -l命令來查看。(上文fstab和mtab文件格式示例中的proc設(shè)備是一個虛擬設(shè)備,并不在磁盤中真實(shí)存在,而僅僅存在于內(nèi)存中,存儲有關(guān)進(jìn)程和系統(tǒng)的信息)

2、掛載點(diǎn)實(shí)際上就是為掛載磁盤創(chuàng)建的文件夾,比如./,./usr,和./swap這樣的系統(tǒng)默認(rèn)掛載點(diǎn),當(dāng)然我們可以自己使用mkdir創(chuàng)建一個文件夾作為掛載點(diǎn)。

3、分區(qū)類型在linux下面有ext2,ext3,ext4,jfs,jfs2,reiserfs,reiser4,swap等,在windows下面有FAT和NTFS等。

4、常用的掛載選項(xiàng)包括:(1)auto和noauto: auto允許系統(tǒng)自動掛載或使用mount -a就能掛載,fstab默認(rèn)就是這個選項(xiàng) ;noauto使系統(tǒng)開機(jī)不自動掛載 或使用mount -a時不掛載;(2)rw和ro:rw表示以讀寫權(quán)限掛載該設(shè)備,ro表示以只讀權(quán)限掛載該設(shè)備;(3)suid和nosuid:suid表示允許對該設(shè)備進(jìn)行uid和gid的設(shè)置操作,nosuid就是不允許設(shè)置uid和gid;(4)dev和nodev:dev表示同時掛載文件系統(tǒng)上的特殊設(shè)備,nodev表示不掛載這些特殊設(shè)備;(5)exc和noexc:exec表示允許執(zhí)行該文件系統(tǒng)下的二進(jìn)制文件,noexc當(dāng)然表示不允許執(zhí)行二進(jìn)制文件;(6)user、nouser、users和owner:user允許指定的普通用戶掛載該設(shè)備,nouser表示禁止普通用戶掛載該設(shè)備(僅root可以掛載該設(shè)備),users表示允許所有普通用戶掛載該設(shè)備,owner表示僅設(shè)備所有者可以掛載。user和users選項(xiàng)同時隱含noexec,nosuid,nodev選項(xiàng);(7)sync和asnyc:sync表示對該設(shè)備的I/O操作同步進(jìn)行,不進(jìn)行緩沖處理,而async表示不同步,進(jìn)行緩沖處理;(8)defaults: 該選項(xiàng)是rw, suid, dev, exec, auto, nouser, and async這些選項(xiàng)的組合。此外,linux系統(tǒng)針對不同的文件系統(tǒng)還可以設(shè)定其他特別選項(xiàng),例如,對Windows下的NTFS文件系統(tǒng),可以設(shè)置utf8(表示采用UTF-8轉(zhuǎn)換文件名稱)、uid=****(掛載設(shè)備的指定用戶id,可以通過id命令或者查看/etc/passwd文件方式獲得)、gid=****(掛載設(shè)備的指定用戶群組id)和umask=***(掛載設(shè)備的權(quán)限屏蔽,八進(jìn)制數(shù)值)等,對Windows下的FAT(包括msdos,umsdos,vfat等)文件系統(tǒng),可以設(shè)置uid=****,gid=****,umask=***,dmask=***(掛載設(shè)備時應(yīng)用于目錄的權(quán)限屏蔽,八進(jìn)制數(shù)值)和fmask=***(掛載設(shè)備時應(yīng)用于普通文件的權(quán)限屏蔽,八進(jìn)制數(shù)值)。更多掛載選項(xiàng)可以參見man mount。

5、dump選項(xiàng)用來設(shè)置是否讓備份程序dump備份文件系統(tǒng),0為不備份,1為備份,如果上次用dump備份,將顯示備份至今的天數(shù)。

6、pass選項(xiàng),告訴fsck程序在開機(jī)時以什么順序檢查文件系統(tǒng),為0就表示不檢查,(./)分區(qū)只能是1,其它的分區(qū)只能是2,當(dāng)數(shù)字相同就同時檢查。

三、linux用戶和群組以及權(quán)限

了解了上文中所講的設(shè)備掛載,基本已經(jīng)知道如何在linux下面掛載windows分區(qū)格式的移動硬盤了,關(guān)鍵就是設(shè)置掛載選項(xiàng)從而獲得相應(yīng)權(quán)限。在linux系統(tǒng)中權(quán)限設(shè)置與用戶和群組概念直接相關(guān),比如在上文中使用ls -al命令時,獲得的有關(guān)權(quán)限的信息(10個字符,如drwx------)可以分成四個部分,即目錄/文件標(biāo)識(第1個字符,d表示目錄,-表示文件,其他還可以為l,b和c)、所有者權(quán)限(第2-4個字符)、所有者所在的用戶群組權(quán)限(第5-7個字符)以及其他用戶權(quán)限(最后3個字符)。權(quán)限在linux系統(tǒng)安全性方面具有重要作用,在此不述。權(quán)限的表示有兩種方式,即字符式和數(shù)字式:字符式用如上文中的r、w和x三個字符來分別表示讀、寫和執(zhí)行權(quán)限,-表示不具有任何權(quán)限;而數(shù)字式的權(quán)限表示方法用4、2、1三個數(shù)字分別表示讀、寫和執(zhí)行權(quán)限,0表示不具有任何權(quán)限,用數(shù)字式表示文檔所有者、群組和其他用戶的權(quán)限時同一個組的權(quán)限需要累加,例如某文檔的權(quán)限是- rwx rw- ---,則用數(shù)字式表示為760。

至此,我們可以回過頭去解決問題了,當(dāng)掛載Windows分區(qū)格式的文件系統(tǒng)時,我們可以通過uid=****,gid=****和umask=***/dmask=***/fmask=***來設(shè)置權(quán)限,uid和gid的設(shè)置并不難,直接設(shè)置為自己的uid和gid就可以;關(guān)于權(quán)限mask的設(shè)置采用數(shù)字式的,同樣第一個數(shù)字表示所有者的權(quán)限mask,第二個數(shù)字表示群組的權(quán)限mask,第三個數(shù)字表示其他用戶的權(quán)限mask,如果umask=000,就表示不屏蔽任何用戶的任何權(quán)限,即所有用戶具有讀、寫和執(zhí)行權(quán)限,再例如fmask=033,就表示文檔所有者具有讀、寫和執(zhí)行權(quán)限,而群組和其他用戶只具有讀取的權(quán)限,而屏蔽了權(quán)限3(1和2之和)。

四、解決問題

綜上,可以在/etc/fstab中添加像下面這樣的掛載配置,并重啟系統(tǒng)讓系統(tǒng)掛載硬盤,從而獲得執(zhí)行權(quán)限。

#                                                                  

/dev/sdb1          /media/sdb1         ntfs       utf8,uid=1000,gid=1000, umask=000                     0             0



網(wǎng)頁標(biāo)題:linux掛載NTFS格式的U盤、移動硬盤后無法更改權(quán)限
本文地址:http://weahome.cn/article/gsgdgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部