mount掛載權限問題


     最近一直都是在linux下開發,見識是長了,但是效率還是提不上來,於是想方設法結合windows與linux的優點。
 linux 做服務器遠比windows好,程序最終還是在linux下跑的,況且服務程序在linux與window下速度相差很大的,跑 apache+mysql+php 就可以看出明顯的差距了,同一台機器上,我在windows下開個linux虛擬機跑apache+mysql+php都比直接在本機windows下跑 apache+mysql+php快很多,但是如果寫程序的話,還是windows比較快速。
 
 掛載在linux中非常常見,很自然就想到了在linux下掛載windows的共享目錄實現windows與linux的有效結合。
 首先,在windows設置共享目錄。假設共享目錄訪問路徑為://192.168.10.1/project
 然后,配置虛擬機host-only上網模式后,安裝smb。
 [root@centos ~] yum install smb
 安裝完smb后,就可以掛載windows共享目錄了
 [root@centos ~] mount //192.168.10.1/project /var/www/html/project -o username=admin,password=123456
 簡單就掛載好了,把apache工程路徑改成這里的/var/www/html/project,將項目移到//192.168.10.1/project,似乎是可以運行了,但是如果項目如果用到寫權限的話,就拋出一大堆的permission deny了。。。
 
 經過一方折騰后,終於突然理解了Linux下的掛載命令 mount 是怎樣賦予用戶權限的了。
 
 [root@centos ~] mount //192.168.10.1/project /var/www/html/project -o rw,username=admin,password=123456
 加 上rw這個參數,或fmask,dmask指定權限,dmask是目錄的mask,fmask是文件的mask ,mask是權限掩碼,由3個八進制的數字所組成, 當前訪問權限去掉權限掩碼所表示的權限之后, 即可產生建立文件時預設的權限。 第一位表示自己訪問的權限,第二位表示同組訪問的權限,第三位表示其他所有人訪問的權限。
 但是這樣仍然是不起作用的,若不指定apache用戶,終歸是無效的。
 [root@centos ~] id apache
 uid=48(apache) gid=48(apache) groups=48(apache)
 
 [root@centos ~] mount //192.168.10.1/project /var/www/html/project -o rw,uid=48,gid=48,username=admin,password=123456
 
 這樣讀寫權限就沒問題,試試哦。。。。
 
 其實這中間還是碰到一些 問題的,比如由於mount老是出現權限問題,需要umount那個目錄,問題就出來了,老是出現device is busy
 想到可能是apache正在使用這個目錄呢,
 [root@centos ~] service httpd stop
 [root@centos ~] fuser -v /var/www/html/project
  查看還有誰在用這個目錄,如果只你一個人在用的話kill掉就好了,fuser 自帶kill了
 [root@centos ~] fuser -k /var/www/html/project
 經此折騰,自覺又長見識了,
 突然想起某網友名言:人生在於折騰!
 
 
轉載來自:http://1300hong.blog.163.com/blog/static/22545921201223091112544/
 
 
 
通過這文章介紹解決了掛載訪問權限的問題
之前:
mount -t cifs -o username=administrator,password=123456 //192.168.61.181/work /mnt/work

之后:
mount -t cifs -o rw,uid=501,gid=501,username=administrator,password=123456 //192.168.61.181/work /mnt/work
其中www的用戶如下
 
 
 
linux掛接Windows文件共享方法

  Windows網絡共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁盤共享,就必須安裝和使用samba 軟件包。現在流行的linux發行版絕大多數已經包含了samba軟件包,如果安裝linux系統

時未安裝samba請首先安裝samba。當然也可以到 www.samba.org網站下載......新的版本是3.0.10版。

  當windows系統共享設置好以后,就可以在linux客戶端掛接(mount)了,具體操作如下:

  # mkdir –p /mnt/samba

  注:建立一個目錄用來作掛接點(mount point)

  # mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

    mount -t cifs -o (rw,uid=501,gid=501, 可選,解決訪問權限問題) username=administrator,password=123456 //192.168.1.26/work /mnt/work(注意:要先設置好windows的密碼,然后設置為共享目錄,配置好讀寫權限)

  注:administrator 和 pldy123 是ip地址為10.140.133.23 windows計算機的一個用戶名和密碼,c$是這台計算機的一個磁盤共享

  如此就可以在linux系統上通過/mnt/samba來訪問windows系統磁盤上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、

windows xp、windows 2003環境下測試通過。

    刪除掛載點:umount /mnt/work

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM