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 三、redflag server 4.一、suse server 9以及windows NT 4.0、windows 2000、 windows xp、windows 2003環境下測試經過。     刪除掛載點:umount /mnt/work
相關文章
相關標籤/搜索