赞
踩
博主这边文章主要是讲解一下 Linux共享文件夹搭建,利用samba服务协议。
博主之前介绍过利用NFS服务来搭建共享文件夹,这次来讲讲利用samba搭建共享文件夹的方法。
samba是Linux上面的一个免费软件,适用于文件和打印共享,在Linux与windows之间(更多)和Linux与Linux之间都适用。
samba运行的有两个服务,一个是smb,另一个是nmb。
smb是samba的核心服务,负责建立Linux smaba服务器和客户端访问的对话,验证客户端访问的身份以及访问文件及文件夹的权限,监听的是139端口和445端口,这也是黑客经常利用来病毒入侵的端口。
nmb负责将linuxsmba服务器的名称和IP做转换,如果该服务不启动,则只能通过域名进行访问。
NFS为网络文件系统,依靠TCP传输协议的文件系统,Sun(太阳)公司制定发布的,将远程文件夹挂载,像在本地使用一样。
NFS通过域名进行访问,走的是2049端口,可能还要占用额外的端口,专门为Linux/unix用户之间访问。
FTP进行文件传输,走的是21端口,也可以用于文件共享。(后续增加介绍)
Ubantu下安装示例:sudo apt-get install samba
sudo apt-get install samba
如果要测试samba服务,还需要安装一个samba客户端:sudo apt-get install smbclient
sudo apt-get install smbclient
之后需要配置共享文件夹及访问权限,首先创建一个新文件夹作为共享文件夹,该文件夹的权限很重要,sudo mkdir sharefile
sudo mkdir sharefile
接下来对samba进行配置,vim或者gedit都可以打开设置,或者直接通过mobaxterm,可以直接打开文件夹。
文件路径在 /etc/samba/smb.conf
[share]
comment=this is Linux share directory #说明
path=/home/oem/sharefile ## 共享文件夹路径
available = yes ## 是否公开目录
browseable = yes ## 是否可浏览,
public = yes ##所有人可见
writable = no ##是否有写权限,例如创建文件夹,修改文件等
之后可以测试参数设置是否正确,testparm,出现file OK则正确参数OK。
pi@raspberrypi:~ $ testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. WARNING: The 'netbios name' is too long (max. 15 chars). Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] log file = /var/log/samba/log.%m logging = file map to guest = Bad User max log size = 1000 obey pam restrictions = Yes pam password change = Yes panic action = /usr/share/samba/panic-action %d passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . passwd program = /usr/bin/passwd %u server role = standalone server server string = %h server (Samba, Ubuntu) unix password sync = Yes usershare allow guests = Yes idmap config * : backend = tdb [printers] browseable = No comment = All Printers create mask = 0700 path = /var/spool/samba printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers [share] comment = this is Linux share directory guest ok = Yes path = /home/oem/sharefile
如果参数错误,会进行提示。
oem@oem-System-Product-Name:~$ testparm
Load smb config files from /etc/samba/smb.conf
set_variable_helper(132): value is not boolean!
Error loading services.
设置成功之后,则可以进行启动smb服务,sudo systemctl start smbd,
之后可查看启动状态,systemctl status smbd,如果为Active: active (running) ,则启动成功。
oem@oem-System-Product-Name:~$ systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-08-29 20:27:03 CST; 5min ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Process: 4916 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS) Main PID: 4925 (smbd) Status: "smbd: ready to serve connections..." Tasks: 5 (limit: 18904) Memory: 7.7M CGroup: /system.slice/smbd.service ├─4925 /usr/sbin/smbd --foreground --no-process-group ├─4927 /usr/sbin/smbd --foreground --no-process-group ├─4928 /usr/sbin/smbd --foreground --no-process-group ├─4929 /usr/sbin/smbd --foreground --no-process-group └─4933 /usr/sbin/smbd --foreground --no-process-group 8月 29 20:27:03 oem-System-Product-Name systemd[1]: Starting Samba SMB Daemon... 8月 29 20:27:03 oem-System-Product-Name systemd[1]: Started Samba SMB Daemon.
打开运行,win+R,然后输入域名,\192.168.137.85,之后回车,就可以看到共享文件。
这里注意创建的文件夹,需要设置权限,sudo chmod o+rwx sharefile 则可以对共享文件夹进行访问和读取目录。
sudo chmod o+rx sharefile
因为之前配置里面设置共享文件夹没有写权限,所以,即使设置目录权限中存在写权限,也无法写。
将之前的配置改成可写,则可以创建新文件夹和写。
writable = yes ##是否有写权限,例如创建文件夹,修改文件等
如果此时修改sharefile目录的权限为可读不可写可执行,则也无法创建文件,sudo chmod o-w sharefile
sudo chmod o-w sharefile
首先创建Linux用户,自动需要填入密码。
sudo useradd zgq #zgq 为用户名
然后samba增加用户,接着再输入密码。
smbpasswd -a zgq
然后就是在配置文件中增加有效用户,valid users = zgq。
[sharefile]
comment=this is Linux share directory
path=/home/oem/sharefile_zgq
available = yes
browseable = yes
public = no
writable = yes
guest ok = yes
valid users = zgq
# write list = root
最后在windows上面访问,则需要输入用户信息,输入正确则可进行文件夹。
之后windows上面有凭据,就不用重复输入。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。