zoukankan      html  css  js  c++  java
  • Manjaro搭建无密访问samba服务器

    为了方便Linux在Windows平台下开发,搭建Manjaro无密访问samba服务器

    后面加了Windows下搭建samba方法

    安装smb服务器

    我用的是Manjaro gnome 18,需要安装下面几个软件

    sudo su 
    pacman -S samba nautilus-share manjaro-settings-samba
    

    配置/etc/samba/smb.conf参数

    1) 安装上面软件之后,开始配置参数,先备份smb.conf
    mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    
    2) 然后新建一个,写入如下参数 vim /etc/samba/smb.conf,这里感谢Conanx给我的参考!
    [global]
    workgroup = WORKGROUP       
    #所要加入的工作组或者域
    netbios name = Manjaro      
    #用于在 Windows 网上邻居上显示的主机名
    security = user             
    #定义安全级别
    map to guest = bad user     
    #将所有samba系统主机所不能正确识别的用户都映射成guest用户
    dns proxy = no              
    #是否开启dns代理服务
    
    [misfit]                    
    #共享显示的目录名
    path = /home/misfit/code    
    #实际共享路径
    browsable = yes             
    #共享的目录是否让所有人可见
    writable = yes              
    #是否可写
    guest ok = yes              
    #是否允许匿名(guest)访问,等同于public
    create mask = 0777          
    #客户端上传文件的默认权限
    directory mask = 0777       
    #客户端创建目录的默认权限
    #注意共享文件在系统本地的权限不能低于以上设置的共享权限。
    

    修改好了输入testparm检查smb.conf是否有语法错误,需要其他配置这里是:配置参数详解

    3) 配置权限和密码工作
    ##将系统用户加入到samba用户,并设置密码,这里我们按两次回车,设置成无密码
    smbpasswd -a  misfit  #这里misfit是上面设置的 #共享显示的目录名,也就是自己系统用户名
    
    ##查看所有Samba用户
    pdbedit -L     
    
    ##查看对应IP上的samba服务器
    smbclient -L //IP   #例如查看本机 smbclient -L 127.0.0.1
    
    ##这一段已经失效----2019.4.10更新
    ##将 path 中目录的所有者改为nobody,否则,任何人都没权限操作这个目录。另外用如下命令设置:
    ##chown nobody:nobody /home/misfit/code  -R
    
    ##将 path 中目录的权限设置为777
    chmod 777 /home/misfit/code -R
    chmod 777 /home/misfit/                 #这个不给权限会拒绝访问
    

    到这里配置基本完成了,跳到下一步直接启动samba服务器

    注意:不要把自己的 /home/misfit 系统目录修改成nobody权限了,会导致开机无法登录系统
    如果导致进不小心修改了,登不进界面,在开机界面按ctrl+alt+F2进入tty2控制台,修改输入下面命令改回权限
    chown misfit:misfit /home/misfit -R 这里misfit是linux的用户名。

    其他知识补充:目前samba有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
    1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实
    用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
    2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。
    pdbedit –a username:新建Samba账户。
    pdbedit –x username:删除Samba账户。
    pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
    pdbedit –Lv:列出Samba用户列表的详细信息。
    pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
    pdbedit –c “[]” –u username:恢复该Samba用户的账号。
    3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

    然后启动服务

    systemctl start smb     #启动服务
    
    #然后设置为开机自启
    systemctl enable smb    #开机自启
    
    #其他命令
    systemctl status smb    #查询状态
    systemctl restart smb   #重新启动
    

    Manjaro防火墙默认关闭的,并且没有安装selinux,安装了的需要关闭
    systemctl stop iptables #关闭防火墙
    setenforce 0 #关闭selinux
    关闭selinux开机启动
    sudo vim /etc/selinux/config
    SELINUX=enforcing改为SELINUX=disabled

    最后挂载到windows上

    打开资源管理器>>右击网络>>映射网络驱动,添加Linux IP共享目录,完成
     
     
     

    Windows搭建服务器

    1) 关闭windows防火墙
    控制面板>>系统安装>>windows防火墙>>打开关闭防火墙,家庭、共用都关掉
    2) 解禁Guest账户
    资源管理右击计算机,管理>>本地用户和组>>用户,右击Guest选择属性,将账户已禁用的勾去掉。
    3) 在本地策略上修改用户权限分配和安全选项

    • 输入“secpol.msc”命令打开本地安全策略向导:
    • 本地策略>>用户权限分配>>拒绝从网络访问这台计算机,双击打开,将Guest账户删除。
    • 本地策略>>安全选项>>网络访问:本地账户的共享和安全模型,双击打开,设置为仅来宾模式。

    4)将Windows的文件夹设置成无密共享
    右键需要共享的文件夹,属性>>共享(标签)>>共享(按钮),添加everyone用户,设置权限级别为 读写 ,单击共享。
    5)最后挂载到Manjaro Linux

    • 查看共享目录smbclient -L //[PC的IP]
    • 挂载共享目录到Linux,manjaro 默认安装了cifs:
      mount -t cifs //[PC的IP]/[共享目录名] /[挂载目录名]

    6)开机自动挂载samba (貌似无效)
    vim /etc/fstab添加:

    //[PC的IP]/[共享目录名]   /[挂载目录名]    cifs    defaults,guest  0 0 
    

    关于服务器的选择:
    我目前偏向于在虚拟机Linux中将smb和nfs都搭建,Linux和windows之间共享用smb,Linux挂载到开发版用nfs。

  • 相关阅读:
    SPAN和DIV的区别
    利用XMLHTTP无刷新添加数据之Post篇
    在Asp.net中上传大文件的解决方法
    在事务中执行批量复制操作
    Microsoft Visual SourceSafe 使用指南
    恢复只有MDF文件的MS SQL数据库
    配置sql server 2000以允许远程访问
    转: Bill Gates 哈佛大学毕业典礼演讲1
    用于对数据库进行操作的类库经验的总结
    用于对数据库进行操作的类库经验的总结 (二)
  • 原文地址:https://www.cnblogs.com/misfit/p/10603277.html
Copyright © 2011-2022 走看看