windows下以指定用户访问SMB服务器进行读写
需求:最近要开发某系统前端界面,但是该系统是部署在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了,呵呵:
1sudo
apt-get
install
samba smbfs -y
====================================================
假设你要共享的文件夹为: /home/ray/share
首先创建这个文件夹
mkdir
/home/ray/share
chmod
777
/home/ray/share
====================================================
备份并编辑smb.conf允许网络用户访问
12sudo
cp
/etc/samba/smb
.conf
/etc/samba/smb
.conf_backup
sudo
gedit
/etc/samba/smb
.conf
添加如下代码:
12345678910111213141516security = 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的密码
123sudo
smbpasswd -a zlgci
sudo
testparm
sudo
/etc/init
.d
/smbd
restart
第一行执行后两次输入密码,
第二行是验证samba的配置文件是否正确。
最后退出重新登录或者重新启动一下机器。
在win端访问,两种方式,一种是直接在运行框中输入
1\\xx.xx.xx.xx
?第二种是映射网络驱动器,点开我的电脑,在中间部分点击映射网络驱动器后,弹出的框中输入
1\\xx.xx.xx.xx\share