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

后面加了Windows下搭建samba方法

安装smb服务器

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

  1. sudo su
  2. pacman -S samba nautilus-share manjaro-settings-samba

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

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

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

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

然后启动服务

  1. systemctl start smb #启动服务
  2. #然后设置为开机自启
  3. systemctl enable smb #开机自启
  4. #其他命令
  5. systemctl status smb #查询状态
  6. 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添加:

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

关于服务器的选择:

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

Manjaro搭建无密访问samba服务器的更多相关文章

  1. linux机器之间配置ssh无密访问

    首先确认已安装了ssh服务,没装的自行百度一下. A机器:192.168.1.1 B机器:192.168.1.2 使A无密访问B,步骤如下[root@localhost ~]# cd .ssh 如果没 ...

  2. samba - linux客户端访问samba服务器的指令(转载)

    转自:http://linux.sheup.com/linux/linux5303.htm linux客户端访问samba服务器的指令2004-04-23 15:18 pm来自:Linux文档现载:W ...

  3. (五)hadoop系列之__集群搭建SSH无密访问多台机器

    免密码ssh设置 现在确认能否不输入口令就用ssh登录localhost: $ ssh localhost 如果不输入口令就无法用ssh登陆localhost,执行下面的命令: . 并修改hosts映 ...

  4. 使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

    原理和概念:  1. 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  5. linux下windows访问samba服务器

    今天学习windows如何访问linux的共享文件. 开通samba服务,首先需要在linux下安装samba程序包,又再次使用光盘镜像挂载: [root@localhost home]# mount ...

  6. mac上访问samba服务器

    打开safari输入smb://ip,回车后出现输入用户名密码对话框,若是匿名则选择作为“客人”选项 例子 smb://192.168.2.3

  7. L12 samba服务器搭建

    在/data/share目录下建立三个子目录public.training.devel用途如下public目录用于存放公共数据,如公司的规章制度training目录用于存放公司的技术培训资料devel ...

  8. Linux samba服务器的搭建

    目录 1. 安装samba 2. 配置smb.conf 3. 创建samba登陆用户 4. 创建samba共享文件夹 5. 重启samba服务 6. 访问samba共享文件夹 7. 参考资料 1. 安 ...

  9. ubuntu 16.04 Samba服务器搭建

    搭建Samba服务器是为了实现Linux共享目录之后,在Windows可以直接访问该共享目录. 现在介绍如何在ubuntu 16.04系统中搭建Samba服务. 1.安装Samba服务 sudo ap ...

随机推荐

  1. sqlmap tamper下模块的使用

    使用方法 根据实际情况,可以同时使用多个脚本,使用-v参数可以看到payload的变化. sqlmap.py -u "http://www.target.com/test.php?id=12 ...

  2. Machine Learning, Homework 9, Neural Nets

    Machine Learning, Homework 9, Neural NetsApril 15, 2019ContentsBoston Housing with a Single Layer an ...

  3. python基础之类的多态与多态性

    原文链接:https://www.cnblogs.com/luchuangao/p/6739557.html 很多人喜欢将多态与多态性二者混为一谈,然后百思不得其解,其实只要分开看,就会很明朗. 一 ...

  4. Pycharm 自定义文件模板

    Pycharm 自定义文件模板 每次新建文件都有相同的代码框架,每次重复敲浪费了程序员的寿命啊 按照下面方式自定义自己的模板:

  5. 【Git】修改git远程连接ip

  6. 立一个Flag吧

    以后在学习上遇到的问题以及解决办法,大部分都要记录在这里了,以备温故知新....就这样吧!

  7. 2019.04.26 mongaodb

    打开服务  mongod.exe --dbpath E:\Develop\mongodb_64\data\db 在安装和打开服务之前要建一个db  文件的存储位置 然后打开服务 打开服务之后  打开图 ...

  8. Leetcode: Number Complement

    Given a positive integer, output its complement number. The complement strategy is to flip the bits ...

  9. Ribbon标题语句

    感谢每一次成长的喜悦和感动,谢谢一路有你!我会比从前更爱你,希望     你能陪我走过这一生!网址:http://www.uc123.com/

  10. Angular5入门与搭建项目

    步骤 1. 设置开发环境 在开始工作之前,你必须设置好开发环境. 如果你的电脑里没有 Node.js®和 npm,请安装它们. 请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来 ...