为了方便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。

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. Pycharm汉化

    简单的汉化方法:    需要把以下链接的文件放到Pycharm安装目录的lib目录下记得重启pycharm即可https://pan.baidu.com/s/1GG4zXZ_0xSB-AlDdu0Tu ...

  2. 2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用 一.原理与实践说明 1.实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具 ...

  3. 2019-oo-第二单元总结

    2019-OO-第二单元总结 多线程电梯调度问题 思路综述 第一次作业 第一次作业是非常简单的傻瓜电梯,不需要考虑容量,不需要考虑调度策略,运用了基本的生产者消费者模型,而且生产者消费者模型也一直贯穿 ...

  4. pymysql连接数据库报错:'NoneType' object has no attribute 'encoding'

    直接写 utf8 即可.

  5. VM中centos设置子网内虚拟机ip

    ,首先应该设置vm的网络,打开编辑->虚拟网络编辑器,弹出框及具体设置如下图 2,选中相应的虚拟机,右键设置,并设置相应的选项,具体设置如下图 3.设置完成后,打开虚拟机,等待虚拟机启动后,输入 ...

  6. mac OSx 安装 mysqlclient

    首先需要安装  按照提示操作 brew install mysql-connector-c 然后 修改mysql_config 执行mysql_config可以看到文件所在位置 我的目录放在 /usr ...

  7. java String补足

    regionMatches()方法: equals 比较内容  == 比较的是地址

  8. java实现栈的简单操作

    public class stract { public static void main(String[] args) { MyStack stack = new MyStack(20); stac ...

  9. css 快捷修改 checkbox 及 radio的背景图

    在CSS内选择要修改的input input[type=checkbox]:disabled{ //input类型等于复选框并且是disabled状态的所有(根据情况自由指定) -webkit-app ...

  10. hibernate框架的简单入门

    1.什么是框架 框架是一个半成品,框架帮我们实现了一部分的功能. 2.使用框架的最大好处 使用框架的最大好处就是,少写一部分代码但仍能实现我们所需要实现的功能. 3.什么是hiberbnate框架 ( ...