Manjaro搭建samba共享
前言
为了方便Linux在Windows平台下开发,搭建Manjaro无密访问samba服务器
后面加了Windows下搭建samba方法
正文
安装smb服务器
我用的是Manjaro gnome 18,需要安装下面几个软件
1 | sudo su |
配置/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] |
修改好了输入testparm
检查smb.conf是否有语法错误,需要其他配置这里是:配置参数详解。
3) 配置权限和密码工作
1 | ##将系统用户加入到samba用户,并设置密码,这里我们按两次回车,设置成无密码 |
到这里配置基本完成了,跳到下一步直接启动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 #启动服务 |
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。
to be continued…