草庐IT

【samba】Ubuntu20.04安装并配置Samba服务

YHQ-Fish 2023-07-18 原文

1、在终端中执行下列指令:

cat /etc/issue

查看当前Ubuntu 的版本号

2、更新当前软件

sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade

3、安装samba服务器

sudo apt-get install samba samba-common

检查是否成功安装samba服务:samba -V (如果出现下面版本号说明已经安装了samba服务器)

如果安装失败,请检查你的网络,确认linux可以访问互联网,若可以联网请尝试更换ubuntu镜像源,桌面版直接在软件和更新中配置,服务器版百度上很多

4、创建一个用于共享的samba目录

此步骤可选 我直接把整个工作目录设置为共享文件夹

mkdir /home/share //如果配置的共享目录不存在则创建

5、给共享的这个目录设置权限

sudo chmod 777 /home/yhq

6、添加Samba访问账号及密码(需要和配置文件中相对应)

添加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

7、备份 smb.conf 配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

8、配置samba的配置文件

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

9、重启samba服务器

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

10、在Windows中访问samba服务

使用ifconfig查看IP

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

11、将共享路径映射为Windows磁盘

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

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

或者使用


接下来就可以在我的电脑里看到映射的网络磁盘了

接下来你就可以在Windows上编写代码,然后在linux下编译验证了

12、开启windows的samba客户端(若无法连接可以尝试)

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

有关【samba】Ubuntu20.04安装并配置Samba服务的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用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请求没有正确的命名空间。任何人都可以建议我

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为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

  4. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  5. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“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(

  6. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为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

  7. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的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

  8. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  9. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的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

  10. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用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

随机推荐