cat /etc/issue
查看当前Ubuntu 的版本号

sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install samba samba-common
检查是否成功安装samba服务:samba -V (如果出现下面版本号说明已经安装了samba服务器)

如果安装失败,请检查你的网络,确认linux可以访问互联网,若可以联网请尝试更换ubuntu镜像源,桌面版直接在软件和更新中配置,服务器版百度上很多
此步骤可选 我直接把整个工作目录设置为共享文件夹
mkdir /home/share //如果配置的共享目录不存在则创建
sudo chmod 777 /home/yhq
添加samba用户,用于其他人或设备认证,这里添加的用户需要在系统账号中存在,否则添加失败
添加Samba访问账号及设置密码:
yhq@yhq-VirtualBox:~$ sudo smbpasswd -a yhq
New SMB password:
Retype new SMB password:
Added user yhq.
可选
创建用户名映射文件并配置(根据配置文件来定义)
sudo vi /etc/samba/smbusers
在文件中写上 share="network username"并保存
拓展:
smbpasswd 命令的用法
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
要在global中写入 null passwords -true
smbpasswd -x 删除用户
# 查看samba用户列表(需要root权限)
pdbedit -L
# 对samba用户进行管理(用户已经在系统中创建)(需要root权限)
smbpasswd -h #查看支持的命令列表
# 异常时可查看日志情况
cat /var/log/samba/log.%m
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vi /etc/samba/smb.conf
在配置文件smb.conf的最后添加下面的内容:
[global]
; 创建工作组 设定 Samba Server 所要加入的工作组或者域
workgroup = WORKGROUP
; 为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936
; display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
; 是否允许guest用户访问
guest ok = no
; 注:如果 #security 存在就直接修改,不存在就创建
; security = user
; 安全模式 我们设置用户安全级别
security = user
; 说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。
; 比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。
username map = /etc/Samba/smbusers
; 共享名,该共享标签,该名字为在电脑上看到的共享名 注意网络映射的路径是这标签名字不是共享路径的名字
[share]
; 该共享描述
comment = Shared Folder with username and password
; 共享文件夹路径
path = /home/yhq/
; 表示是否允许匿名访问该共享目录
public = no
; 配置的Samba访问账号 指明可以访问的用户
valid users = yhq
; 表示是否可以在 Window Explorer中显示该目录
browsable = no
; 指明新建立的文件的属性
create mask = 777
; 指明新建立的目录的属性
directory mask = 777
; force group 和force user 规定创建的文件或文件夹的拥有者和组拥有者是谁
; 一般这两个值来空,则表示拥有者和组拥有者为创建文件者。 如设定值,如force group=yhq
; Force user=yhq,则不管是谁创建的文件和文件夹,拥有者都为yhq和yhq组。
; force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,
; 如果我用force user=yhq强制建立文件的属主是yhq,同时限制create mask = 0755,
; 这样guest就不能删除了。
force user = yhq
force group = yhq
; available用来指定该共享资源是否可用
available = yes
; 共享路径读权限 设置共享是否可浏览,如果no则表示隐藏,需要通过"//ip/共享目录"进行访问
browseable = yes
; 共享路径写权限
writable = yes
sudo service smbd restart 或者 /etc/init.d/samba restart
有的版本路径不是/etc/init.d/samba 可以尝试用
sudo /etc/init.d/samba restart
#sudo /etc/init.d/samba-ad-dc restart
使用ifconfig查看IP

然后在Windows文件管理器中输入\linux ip 便可以看到linux samba服务共享的文件夹

若经常使用的共享,可直接映射为Windows的磁盘,不用每次都输ip,但linux ip变了需要重新映射,所以建议将linux ip设为固定ip
ps:

我的电脑 ->右键 ->映射网络驱动器,文件夹输入框输入\linux ip\共享名,不能直接输ip,一定要加上共享名,点击完成
或者使用


接下来就可以在我的电脑里看到映射的网络磁盘了
接下来你就可以在Windows上编写代码,然后在linux下编译验证了
Win10打开控制面板–程序–windows功能启动或关闭–打开smb客户端

然后重启系统让设置生效!!!
引用:
Linux samba的配置和使用
https://blog.csdn.net/weixin_40806910/article/details/81917077
ubuntu 20.04 安装配置Samba服务,Windows 和 linux协同工作
https://blog.csdn.net/mvp_Dawn/article/details/105847485
Samba 安装与配置,以及配置说明参数详解
https://www.jianshu.com/p/f7fb4ad09c11
virtual box中配置samba共享方法
https://blog.csdn.net/refine19/article/details/6911695
windows下访问SMB服务器(非匿名)
https://developer.aliyun.com/article/535717
Samba服务(匿名用户访问、本地用户访问、虚拟用户访问)
https://blog.51cto.com/u_10316297/2118395
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121