Windows下以指定用户访问Samba服务器进行读写

需求:最近要开发某系统前端界面,但是该系统是部署在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了,呵呵:

sudo apt-get install samba smbfs -y

====================================================

假设你要共享的文件夹为: /home/ray/share

首先创建这个文件夹

mkdir /home/ray/share
chmod 777 /home/ray/share

====================================================

备份并编辑smb.conf允许网络用户访问

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf

添加如下代码:

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的密码

sudo smbpasswd -a zlgci
sudo testparm
sudo /etc/init.d/smbd restart

第一行执行后两次输入密码,

第二行是验证samba的配置文件是否正确。

最后退出重新登录或者重新启动一下机器。

在win端访问,两种方式,一种是直接在运行框中输入

\\xx.xx.xx.xx

​第二种是映射网络驱动器,点开我的电脑,在中间部分点击映射网络驱动器后,弹出的框中输入

\\xx.xx.xx.xx\share

Samba 的详细介绍请点这里
Samba 的下载地址请点这里

相关阅读:

Samba文件共享-实现异构通信

VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍

Samba文件共享服务器加入Windows Server 2003域

Samba安装配置

CentOS 6.2 下Samba 服务的配置

Win7+VMware+Fedora18 Samba服务器的搭建图解

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d53334761957228791cc4292d8cddfc4.html