zoukankan      html  css  js  c++  java
  • 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               

           


  • 相关阅读:
    转:SQL 操作结果集 -并集、差集、交集、结果集排序
    转:JSON 获取属性值的方法
    Could not find a getter for orderItems in class
    转:ServletContext,ActionContext,ServletActionContext
    Could not parse mapping document from input stream hibernate配置异常
    According to TLD or attribute directive in tag file, attribute test does not accept any expressions
    Codeforces Round #273 (Div. 2)-A. Initial Bet
    队列

    Codeforces Round #272 (Div. 2)-C. Dreamoon and Sums
  • 原文地址:https://www.cnblogs.com/pangblog/p/3285550.html
Copyright © 2011-2022 走看看