首页
壁纸
直播
统计
友链
Search
1
Centos宝塔面板清理垃圾空间
655 阅读
2
MacOS下禁止开机自动挂载分区 [/etc/fstab]
626 阅读
3
C语言单向链表写一个简单的通讯录
509 阅读
4
OC黑苹果+Win双系统安装小结
396 阅读
5
fio程序交叉编译记录
374 阅读
软件工具
网站搭建
技术交流
Macos
Windows
Linux
文件中转
登录
/
注册
Search
标签搜索
Linux
samba
shell
字符串
Leo
累计撰写
62
篇文章
累计收到
18
条评论
首页
栏目
软件工具
网站搭建
技术交流
Macos
Windows
Linux
文件中转
页面
壁纸
直播
统计
友链
搜索到
1
篇与
samba
的结果
2021-02-27
简单samba服务器搭建
因为公司代码需要build SDK,需要搭建一个samba服务器,做下简单的配置,现总结一下:linux采用的是Ubuntu 16.04 虚拟机环境,Win10系统全程使用 sudo su root权限操作一、 首先配置静态IP,设置apt网络HTTP代理1.vmware 设置为桥接模式,物理网络状态不打钩。2.设置静态IP,修改 /etc/network/interfaces 配置:auto lo iface lo inet loopback auto eth0 #eth0 是网卡名字 用指令ip addr查看 iface eth0 inet static address 192.168.0.99 #静态IP 按需设置 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 223.5.5.5 #阿里的dns编辑 /etc/resolvconf/resolv.conf.d/base 增加:nameserver 223.5.5.5 nameserver 223.6.6.63.配置apt代理公司限制需要开启http代理才能访问外网没限制的可以跳过此步骤3.1 打开设置-->网络-->网络代理,方法选择手动,填写代理,最后点击应用3.2 修改 /etc/apt/apt.conf ,格式如下,可能字符不对不要复制:Acquire::http::Proxy “http://IP地址:端口号/”; Acquire::https::Proxy “https://IP地址:端口号/”; #有代理的账号密码格式为: #Acquire::http::Proxy “http://账号:密码@IP地址:端口号/”; #Acquire::https::Proxy “https://账号:密码@IP地址:端口号/”;3.3 编辑 ~/.bashrc,末尾追加:export http_proxy=http://IP地址:端口号/ export https_proxy=http://IP地址:端口号/ #有代理的账号密码格式为: #Acquire::http::Proxy “http://账号:密码@IP地址:端口号/”; #Acquire::https::Proxy “https://账号:密码@IP地址:端口号/”;保存重启linux系统。二、 配置ssh1.安装ssh: sudo apt install ssh2.配置ssh: 编辑 /etc/ssh/sshd_config 复制这行并注释掉:PermitRootLogin prohibit-password修 改 为 :PermitRootLogin yes3.重启ssh服务: sudo /etc/init.d/ssh restart用root账户登录需设置密码sudo passwd root #设置密码三、 配置Samba安装Samba:apt install samba创建系统用户(这里为多用户A、B、C,只需单用户忽略B和C,后面也是)adduser A #(删除系统用户命令 `userdel -r 用户名` ) adduser B adduser C将系统用户设置为samba账号:pdbedit –a A pdbedit –a B pdbedit –a C设置访问权限 chmod 777 /home -R然后配置/etc/samba/smb.conf 参数,如下:Ubuntu可以用的方法 [global] workgroup = WORKGROUP #所要加入的工作组或者域 netbios name = Manjaro #用于在 Windows 网上邻居上显示的主机名 security = user #定义安全级别 map to guest = bad user #将所有samba系统主机所不能正确识别的用户都映射成guest用户 dns proxy = no #是否开启dns代理服务 [A] #共享显示的目录名 path = /home/A #实际共享路径 valid users = A #指定登录用户 browsable = yes #共享的目录是否让所有人可见 writable = yes #是否可写 create mask = 0777 #客户端上传文件的默认权限 directory mask = 0777 #客户端创建目录的默认权限 #注意共享文件在系统本地的权限不能低于以上设置的共享权限,需要设置为0777。 centos 7.9适用的方法 [global] workgroup = WORKGROUP netbios name = SW_SERVER security = user map to guest = bad user [Leo] path = /home/leo browsable = yes writable = yes write list = leo 将共享目录权限设置为0755,即可实现自己读写,其他人只读.pdbedit –a username:新建Samba账户。pdbedit –x username:删除Samba账户。pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。sudo /etc/init.d/samba start //启动Samba服务sudo /etc/init.d/samba stop //关闭Samba服务sudo /etc/init.d/samba restart //重启Samba服务ps -aux | grep samba //查看samba是否正在运行关于samba 的其他参考 {anote icon="#" href="https://www.leoc.top/Win/22.html" type="success" content="搭建无密的samba服务器"/}附上标准smb.conf文件清单如下:# 这是服务器的主要配置文件。您应该阅读smb.conf(5)的用户手册以了解下面 # 列出的每一个选项。Samba有很多的选项,它们之中的大多数并没有出现在这 # 个例子中。 # # 以分号";"或井号"#"开始的每一行都是注释,在执行时被忽略。在本例中 # 我们使用"#"作为注释而使用";"作为可选配置的注释。 # # 注意:无论何时修改了这个配置文件,您都要运行"testparm"命令来检查您所 # 做的修改有没有基本的语法错误。 # #=================== 全局变量设置Global Settings ==================== [global] # workgroup用来指定您的机器在网络上所属的NT域名或组名。格式是 # workgroup = NT-Domain-Name or Workgroup-Name。缺省的组名是 MYGROUP。 workgroup = MYGROUP # server string 用来设置NT描述域。缺省值是Samba Server 。 server string = Samba Server # 下面的选项对于安全很重要。它允许您设置哪些领域的机器可以访问您的Samba # 服务器。下面的这个例子允许两个C类子网和"lookup"的连接请求而禁止来 # 自其他网段机器的连接请求。有关的例子请参看smb.conf的用户手册。 ; hosts allow = 192.168.1. 192.168.2. 127. # 允许自动加载打印机列表,而不需要您单独设置每一台打印机。 load printers = yes # 您也许希望覆盖原有的printcap 文件。 ; printcap name = /etc/printcap # 对于SystemV系统,如果将printcap名设置为lpstat 将允许您从SystemV 的 # spool中自动获得打印列表。 ; printcap name = lpstat # 除非您的打印机不是标准型号,否则您没有必要在下面指定打印机系统的类型。 # 目前支持的打印机系统包括:bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = bsd # 如果希望建立一个客户帐号,去掉下面语句前面的分号";"。同时,您必须在 # /etc/passwd中加入这个帐号的定义,否则将使用用户"nobody"作为客户帐户。 ; guest account = pcguest # 此选项将为每一个与服务器连接的机器定义一个单独的日志文件。 log file = /usr/local/samba/var/log.%m # 此选项设置最大的日志文件的大小(以KB为单位) max log size = 50 # 定义安全模式。大多数人都喜欢用户级安全模式,详细内容参看security_level.txt security = user # 只有当安全模式设置为服务器级(security = server)时,才定义下面选项。 ; password server = <NT-Server-Name> # 如果用户想使用加密口令的话,请参阅ENCRYPTION.txt、Win95.txt和 WinNT.txt # 文件,请在阅读以上文件后使用下面选项。 ; encrypt passwords = yes # 使用此选项允许您对每一个机器使用不同的配置。%m将被替换成与服务器 # 请求连接机器的NetBIOS名。 ; include = /usr/local/samba/lib/smb.conf.%m # 大多数人会发现此选项将显著提高服务器的执行效率,请参读speed.txt和用户 # 手册以了解更多细节。 socket ōptions = TCP_NODELAY # 配置Samba来使用多个网络界面,如果您有多个网络界面,那么必须按照下面 # 格式在这里列出。请参阅用户手册以获得更多的细节。 ; interfaces = 192.168.12.2/24 192.168.13.2/24 # 浏览控制选项 #如果不想使您的Samba服务器成为局域网内部的主浏览服务器,将此选项设为no ; local master = no # OS Level决定了该服务器在局域网内的访问优先权。 ; os level = 33 # Domain Master将Samba服务器定义为主域浏览器。此选项将允许Samba在子 #网列表中比较浏览。如您已经有一台Windows NT域控制器,不要使用此选项 ; domain master = yes # Preferred Master使Samba在启动时选择一个本地浏览器并给它获得选择的较高 # 的机会 ; preferred master = yes #仅当您的网络中有一台在安装时设置为主域控制器的NT服务器时使用此选项。 ; domain controller = <NT-Domain-Controller-SMBName> # 如果想使Samba成为Windows95工作站的登录服务器,则使用此选项。 ; domain logons = yes # 如果允许域登录服务,那么您也许希望每台机器或每个用户的登录脚本运行一 # 个特定的每工作站的登录批处理文件。, ; logon scrīpt = %m.bat # 运行一个特定的每用户名登录批处理文件。 ; logon scrīpt = %U.bat # 放置roving profiles 文件的位置(仅用于 Win95 和WinNT) ,%L代表该服务器 # NetBIOS名,%U是用户名,您必须取消后面定义的[Profiles]前面的注释号。 ; logon path = \\%L\Profiles\%U # Windows的Internet名服务支持记录部分 # WINS Support告诉NMBD守护进程支持WINS服务器。 ; wins support = yes # WINS Serve选项告诉NMBD守护进程作为WINS的客户机。 # 注意:Samba既可以作为WINS服务器也可以作为 WINS客户机,但不能兼 # 而有之。 ; wins server = w.x.y.z # WINS Prox代表一个非WINS客户通知Samba响应名字解析请求。要使此选项 # 正常工作必须保证网络中至少有一台WINS服务器。缺省值是NO。 ; wins proxy = yes # DNS Proxy选项决定Samba是否通过DNS 的nslookups 去解析主机的NetBIOS # 名。对于1.9.17 以前的版本内置值是yes ,对于1.9.18之后的版本内置值是no 。 dns proxy = no #================== 定义共享服务Share Definitions =================== # 所有使用者的home目录 [homes] comment = Home Directories # 当一个客户程序以客人用户类出本服务器的共享服务时,不列出homes服务。 # 但是本机用户创建的主目录服务仍使用[global]节设定的browseable。 browseable = no writable = yes # 如果要创建一个netlogon目录则取消下面的注释。 ; [netlogon] ; comment = Network Logon Service ; path = /usr/local/samba/lib/netlogon ; guest ōk = yes ; writable = no ; share modes = no # 如果要提供一个特定的共享roving profile则取消下面的注释。 # 缺省值是使用用户的home目录。 ;[Profiles] ; path = /usr/local/samba/profiles ; browseable = no ; guest ōk = yes # 注意:如果您有一个BSD 风格的打印系统,您不需要单独定义每台打印机。 [printers] comment = All Printers path = /usr/spool/samba browseable = no # 设置public = yes 将允许以guest 帐号登录的用户使用打印机。 guest ōk = no writable = no printable = yes # 此选项定义网络用户共享文件的临时目录。 ;[tmp] ; comment = Temporary file space ; path = /tmp ; read ōnly = no ; public = yes # 一个用户共享目录,除了在"staff "组里的用户有些写的权限之外之外,对 # 其它用户是只读的。 ;[public] ; comment = Public Stuff ; path = /home/samba ; public = yes ; writable = yes ; printable = no ; write list = @staff # 其他例子: # # 下面定义了一台只有fred可以使用的私人打印机。Spool数据放在fred的home # 目录里。注意:fred必须对Spool目录有写的权限,不管这个目录在什么位置。 ;[fredsprn] ; comment = Fred's Printer ; valid users = fred ; path = /homes/fred ; printer = freds_printer ; public = no ; writable = no ; printable = yes # 下面定义一个只有用户fred才能使用的私人目录。fred 必须对这个目录拥有 # 写的权限。 ;[fredsdir] ; comment = Fred's Service ; path = /usr/somewhere/private ; valid users = fred ; public = no ; writable = yes ; printable = no # 下面定义的是对每个域服务器连接的机器有不同的目录的服务。这将允许您 # 对于不同的机器使用不同的配置,同样也可以使用%U选项为每个用户使用不 # 同的配置。%m在连接时将被替换为客户机的主机名。 ;[pchome] ; comment = PC Directories ; path = /usr/pc/%m ; public = no ; writable = yes # 下面定义一个所有用户都可以读写的共享目录。注意用户在这个目录中创建的 # 文件都将归默认用户所有。所以任何可以访问这个目录的用户都可以删除别的 # 用户在这个目录里放置的文件。显然,这个目录对于默认用户必须是可写的。 # 当然,也可以指定某个用户,这时,该目录的所有文件将为此用户所有。 ;[public] ; path = /usr/somewhere/else/public ; public = yes ; only guest = yes ; writable = yes ; printable = no # 下例说明了如何定义让两个用户共享一个目录,他们在这个目录里放置的文件 # 归他们各自所有。在此例中,这两个用户对该目录都有写的权限。当然文件的 # 保护应该设置恰当。很显然,这个例子可以扩展到适合于多个用户的情况。 ;[myshare] ; comment = Mary's and Fred's stuff ; path = /usr/somewhere/shared ; valid users = mary fred ; public = no ; writable = yes ; printable = no ; create mask = 0765{mtitle title="THE END"/}
2021年02月27日
117 阅读
0 评论
1 点赞