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了,呵呵:

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.xxshare               

       


原文地址:https://www.cnblogs.com/pangblog/p/3285550.html