samba linux 文件共享,linux访问samba共享文件
参考:https://www.linuxidc.com/Linux/2017-11/148194.htm
后台用linux系统开发的时候,大部分时候都是不显示桌面系统状况的。比如NVIDIA TX2在机器人等环境下使用时,虽然可以用xshell修改代码,但是操作文件还是不方便。但是服务器上一个常见的操作是安装samba服务远程查看文件夹,所以这个思路应用到TX2上,windows主机可以远程访问TX2的文件系统。samba就是这样一种服务。
1安装方法很简单,安装apt即可。
O sudapt安装samba,如果安装了,错误如下
以下软件包具有未满足的依赖关系:
samba : Depends: python-dnspython,但不可安装
依赖:python-samba,但它不会被安装
视情况而定:samba-common-witty story(=2:4 . 7 . 6 DFSG ~ Ubuntu-0 Ubuntu 2.23)但是不会安装
视情况而定:tdb-tools,但不可安装
依赖:samba-libs(=2:4 . 7 . 6 dfsg ~ Ubuntu-0 Ubuntu 2.23)但是要安装2:4.7.6 dfsg~ubuntu-0ubuntu2.21
建议:attr,但不可安装
建议:samba-dsdb-modules,但不会安装它
建议:samba-vfs-modules,但不会安装它
e:无法纠正问题,您持有破损的包装。
因为apt源码问题,依赖安装不完整,可以换成清华源码。
安装完成后,您可以通过运行以下命令来检查samba版本
要检查samba服务是否正在运行,请运行以下命令
SystemCTL状态SMBDSystemCTL状态NMBD 2编辑一个配置文件只需要修改一个配置文件。
打开sudvim/etc/samba/smb.conf #拖到底部,添加以下内容【Home Share】comment=homepublicfolderpath=/writeable=yesvalidusers=NVIDIA。以上内容是指windows网络上的文件夹名为【homeshare】,可访问路径为根目录。您也可以写入文件。保存后,运行以下指令检查是否有语法错误。
Parm3默认创建用户,samba将用户设置为安全模式,这意味着客户端必须输入共享文件夹的用户名和密码,并使用以下说明为nvidia用户添加Samba密码
Sudo smbpasswd -a nvidia输入密码两次确认,然后重启smbd服务。
Sudsystemctl重新启动smbd4修改用户。首先,使用以下命令检查当前配置了哪些用户。
Pdit-l如果要删除指定的用户
Smbpasswd -x username如果您想修改用户的密码(切换到root)
Passwd用户名新SMB密码:重新键入新SMB密码:5 windows访问当windows计算机和TX2在同一个局域网中时,可以访问TX2在windows上的文件夹。访问方法是在Windows的文件夹地址中输入两个右斜杠加上TX2的IP地址,然后就可以打开我们设置的可访问文件夹,如图,然后就可以在线修改TX2上的代码和文件了。这样做的好处是可以使用windows上的代码编辑器,比如vscode,漂亮的修改显示代码,提高工作效率!
如果无法访问,可能是因为服务器端samba对应的445 UDP端口没有打开。您可以使用iptables命令来打开这个端口。
O apt-get安装iptables sudo apt-get安装iptables-persistent #打开UDP 445端口iptables-a input-p UDP-destination-port 445-j accept #保存sudo netfilter-persistent保存sudo netfilter-persistent永久重载,然后再次访问。
如果我们登录一个用户,又登录一个新用户,我们会得到如下提示
这是windows的一个局限。解决方案是运行cmd并输入以下命令来断开连接。
NET */DEL/Y 6软链接访问问题如果在主目录中创建软链接访问系统目录,比如/opt中的文件夹,在windows中访问时会提示没有权限。这时候就算你把权限设置成777,还是打不开。
解决方案是将以下内容添加到samba的配置文件中的[global]组
sudo vim /etc/samba/smb.conf宽链接=是
操作系统扩展=否
然后重启一下服务即可
sudo系统公司重启共享文件