需求:最近要開發某系統前端界面,但是該系統是部署在linux服務器上,前端是用php開發,實時調試運行需要linux下系統環境支持,
每次修改都需要手動傳到服務器上,尤其是debug階段,每修改一點就要傳一次,甚是麻煩,一開始使用subversion,比手動
上傳是簡單點,后來采用UltraEdit的ftp遠程編輯,但除了編輯功能外,其他功能都沒了,不夠用;於是考慮是否將服務器上的
指定目錄映射到win7本地,然后借助ultraEdit的強大編輯能力進行遠程編輯,繼而直接在瀏覽器端輸出進行調試,采用samba,
要解決對指定目錄以指定用戶指定權限進行讀寫操作。
環境:Ubuntu server 12.04.2 X86_64
需要共享的目錄是/opt/zlgci 目錄的用戶和群組分別是 zlgci:root
新建目錄默認是drwxr-xr-x 755 文件是-rw-r--r-- 644
強制遠程也是使用zlgci:root對目錄進行讀寫
首先當然是要安裝samba了,呵呵:
1
|
sudo
apt-get
install
samba smbfs -y
|
====================================================
假設你要共享的文件夾為: /home/ray/share
首先創建這個文件夾
1
2
|
mkdir
/home/ray/share
chmod
777
/home/ray/share
|
====================================================
備份並編輯smb.conf允許網絡用戶訪問
1
2
|
sudo
cp
/etc/samba/smb
.conf
/etc/samba/smb
.conf_backup
sudo
gedit
/etc/samba/smb
.conf
|
添加如下代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
security = user
username map =
/etc/samba/smbusers
[Share]
comment = Shared Folder
for
debug
in
remote win client
netbios name=zlgciserver
path=
/opt/zlgci
valid
users
=zlgci
create mask=0644
directory mask=0755
force user=zlgci
force group=root
public=
yes
writable=
yes
browseable=
yes
available=
yes
|
粗略的解釋一下,1,2行需要添加在[global]那一節里面,是啟用user認證機制
5行是注釋,6行是在win端網絡鄰居能夠查看到的名字
7行是要共享的目錄,
8行是能夠訪問該共享的用戶,可用通配符
9,10行是新建文件目錄時的權限
11,12行表示進行讀寫時映射到服務器端對應的用戶和用戶組----很關鍵
14行表示可寫,15行表示可以瀏覽。
找到[global]把 workgroup = MSHOME 改成workgroup = WORKGROUP
就是改為跟你的win在同一個工作組
--------------------------------------------------------------------------------------------------------------
現在要添加newsfan這個網絡訪問帳戶。如果系統中當前沒有這個帳戶,那么
代碼: sudo useradd newsfan
要注意,上面只是增加了newsfan這個用戶,卻沒有給用戶賦予本機登錄密碼。所以這個用戶將只能從遠程訪問,不能從本機登錄。而且samba的登錄密碼可以和本機登錄密碼不一樣。
現在要新增網絡使用者的帳號:
代碼: sudo smbpasswd -a newsfan
更改newsfan的網絡訪問密碼也是一樣,刪除網絡使用者的帳號的命令把上面的 -a 改成 -x
sudo gedit /etc/samba/smbusers
在新建立的文件內加入下面這一行並保存
代碼: newsfan = "network username"
======================================
這里是指定用戶訪問,因而無需新建用戶,直接修改對應用戶在samba的密碼
1
2
3
|
sudo
smbpasswd -a zlgci
sudo
testparm
sudo
/etc/init
.d
/smbd
restart
|
第一行執行后兩次輸入密碼,
第二行是驗證samba的配置文件是否正確。
最后退出重新登錄或者重新啟動一下機器。
在win端訪問,兩種方式,一種是直接在運行框中輸入
1
|
\\xx.xx.xx.xx
|
第二種是映射網絡驅動器,點開我的電腦,在中間部分點擊映射網絡驅動器后,彈出的框中輸入
1
|
\\xx.xx.xx.xx\share
|