Linux与Windows之间的内网共享还有samba的一些小知识

人走茶凉 提交于 2020-03-23 20:53:48

3 月,跳不动了?>>>

最近内网搞了个Linux当办公机,于是内网之间文件共享就成了问题。最近刚好搞了一下有一点小心得共享一下。
Windows的文件共享方式我就不累述了,百度上有很多教程,无脑照做就行了。唯一需要注意的就是用户权限。
如果你是用微软账号登陆的话,需要去找一下你的实际用户名是什么,有的时候不支持账号直接登录,需要使用用户名。因为很多时候微软账号不等于用户名。

Linux使用Windows共享

Linux使用的方法就是挂载。把Windows的文件夹挂载到自己的目录里。这有一点需要注意的是,挂载目标的目录必须实际存在,不能写一个不存在的目录让Linux自己去生成。挂载不是快捷方式,没办法那么用。
所以第一步就是创建一个目标文件夹,命令很简单。

	mkdir /home/user/filename		//我这里使用的例子是在自己的个人文件夹里创建了一个文件夹

这一步搞完我们就可以开始挂载了。命令如下:

	mount -t cifs '//IP/Path' '/home/user/filename' -o username=username,password=password

地址用单引号包裹可以兼容地址里的空格。这里还有有一点需要注意的是Windows的路径使用的是反斜杠 “ \ ”,在Linux中反斜杠一般都用来转义,所以Windows地址里所有的反斜杠用到Linux里的时候要改成正斜杠。其他就没有什么需要注意的内容了。
这个挂载,是一次性,关机重启就失效了,如果想长期有效需要把它加入开机启动的挂载项里。

vim /etc/fstab
//最末尾加入一行
'//IP/Path'   '/home/user/fliename' cifs defaults,username=username,password=password 0 2

有关于fstab的讲解点这里

Samba

Samba是个很有意思的程序。首先它使用的用户必须在系统里有实际用户,这样操作权限也比较容易理解。但是当你设置公共文件夹的时候就复杂一点了。 首先我们先准备用户。

groupadd samba						//创建samba组,方便管理权限,当然也可以不需要或者是使用别的组。
useradd -g samba -s /sbin/nologin username		//创建一个无法用shell登录的用户,此用户不需要密码。你也可以按照实际情况选择。

这样需要用的用户名就创建完了,接下来讲重点。
Samba的登录用户名和密码是通过一个单独的数据库管理的,具体原理可以参见百度,遍地都是。Samba会有自己单独的密码策略,这样做安全性会有所提高。

smbpasswd -a username		//添加一个新的samba用户
New SMB password:		//输入要设置的密码
Retype new SMB password:	//再次输入,注意Samba是有一定强度的密码策略的,可能要多试几次。

到这里用户基本就搞定了。
记下来需要编辑一下Samba的配置文件,做一个共享文件夹,配置模板百度全网有很多,我这里只用我自用的举例。

vim /etc/samba/smb.conf
//在最末尾加入以下文本块
[filename]
path = /usr/filename
available = yes
valid users = username
read only = no
browsable = yes
public = yes
writable = yes
create mask = 0775		//这里标明了用户权限
directory mask = 0775

不光Samba进行了权限限制,Linux自身的权限限制也会生效,按需设置即可,唯一需要注意的是子文件夹的访问权限是r-x。4和6都无法进入子文件夹,必须用5或者7。建议775。 最后就是标准化的流程了,启动服务加入开机自启动。

systemctl start smbd
systemctl enable smbd

Over,enjoy it!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!