为了方便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. Redis做LRU缓存

    当Redis用作缓存时,通常可以让它在添加新数据时自动逐出旧数据. 这种行为在开发人员社区中非常有名,因为它是流行的memcached系统的默认行为. LRU实际上只是支持的驱逐方法之一. 本页介绍了 ...

  2. GRUB 的配置文件解析

    原文:http://c.biancheng.net/view/1032.html 本节,我们就来看看 GRUB 的配置文件 /boot/gmb/grub.conf 中到底写了什么.命令如下: [roo ...

  3. ES6的字符串和数值的扩展

    字符串扩展 对于处理大于两个字节(大于0xffff)的字符,let str =’\u{20bb7}abc’ ES5中的遍历  for(let i=0;i<str.length;i++){ con ...

  4. java.lang.IllegalStateException: Connection pool shut down

    最近使用HttpClient 4.5 使用 CloseableHttpClient 发起连接后,使用CloseableHttpResponse 接受返回结果,结果就报错了,上网查了下,有位stacko ...

  5. 【LeetCode每天一题】Set Matrix Zeroes(设置0矩阵)

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in-place. Exampl ...

  6. C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...

  7. Android Studio旧版(内含SDK)安装和环境变量配置 转自I-T枭

    win10下Android Studio和SDK下载.安装和环境变量配置 ------made by siwuxie095 转自I-T枭https://me.csdn.net/hahahhahahah ...

  8. git----------如何安装gitlab,使用步骤。

    1.配置yum源        vim /etc/yum.repos.d/gitlab-ce.repo 2.复制以下内容到打开的文件中: [gitlab-ce]     name=Gitlab CE ...

  9. Vue系列之 => 结合webpack使用vue-router

    安装 vue-router cnpm i vue-router -S index.html <!DOCTYPE html> <html lang="en"> ...

  10. centos7 源码安装php7

    因为php安装需要编译,所以服务器应该保证gcc和g++环境的安装 1. 首先释放安装包: tar -xvzf php-7.0.5.tar.gz cd php-7.0.5 2. 接下来进行参数配置,配 ...