设为首页 收藏本站
查看: 962|回复: 0

[经验分享] 一起来学linux:SAMBA服务器搭建

[复制链接]

尚未签到

发表于 2017-11-17 19:31:39 | 显示全部楼层 |阅读模式
  前面介绍的NFS服务器的用来linux和linux系统之间共享文件和目录的,那如果是linux和windows之间需要共享修改文件该如何操作呢。这据需要用到SAMBA系统。我们首先来看下SAMBA系统如何搭建。
  1 ubuntun系统没有自带SAMBA,所以需要额外安装
  apt install samba
  2 安装好后开始启动samba
  root@zhf-linux:/home/zhf# /etc/init.d/samba start
  [ ok ] Starting nmbd (via systemctl): nmbd.service.
  [ ok ] Starting smbd (via systemctl): smbd.service.
  [ ok ] Starting samba-ad-dc (via systemctl): samba-ad-dc.service.
  3 可以通过ps -aux查看samba的启动
  root@zhf-linux:/home/zhf# ps -aux | grep samba
  root 6153 0.0 0.0 5104 844 pts/0 S+ 09:08 0:00 grep --color=auto samba
  root@zhf-linux:/home/zhf# ps -aux | grep nwbd
  root 6157 0.0 0.0 5104 832 pts/0 S+ 09:08 0:00 grep --color=auto nwbd
  

  (一)windows免密码登陆linux共享目录:
  Samba服务器主要配置文件为/etc/samba/smb.conf。我们首先来看下windows中不用输入密码访问Linux共享目录的方法。因此首先编辑smb.conf文件。将文件中的内容进行如下修改;
  security=share
  并在文件末尾添加如下行:
  [share]
  comment=thisis linux share directory
  path=/home/zhf/zhf
  public=yes
  writable=yes
  

  保存退出,重启samba服务器
  /etc/init.d/sambastart
  在windows下访问共享目录,点击运行,输入\\192.168.0.11\share这样就能以匿名用户访问共享目录share了。
  这里介绍下设置的这几个参数。首先是security,security有share,user,domain三种设置
  share:共享的数据不需要密码
  user:使用samba服务器本身的密码数据库,密码数据库与下面的passdbbackend有关
  domain:使用外部服务器密码
  

  comment:目录的说明
  path:linux中的共享路径
  writable:是否可以写入。这里就可以看出samba服务器和FTP服务器之间的差别。FTP服务器虽然可以直接下载,但是无法在服务器上直接修改文件。只有下载后在本地下载,然后继续上传。而samba则可以支持在服务器上在线修改文件
  

  

  (二)需要账户密码才可登陆的共享(security=user)
  前面介绍了不经过密码直接登陆samba服务器的方法,设置十分简单。不过这样不需要密码直接访问的方式不太安全。我们来看下通过samba服务器提供的认证方式来进行用户权利的分配,也就是说,必须要输入正确的帐号和密码后,才能够登陆samba查看你自己的数据
  既然需要帐号和密码,首先我们来添加新的帐号,然后设置帐号用户名,下面命将smb1用户加入到users组里面
  root@zhf-linux:/var/log/samba#useradd -G users smb1
  通过passwd命令设置用户名密码
  root@zhf-linux:/var/log/samba#passwd smb1
  Enternew UNIX password:
  Retypenew UNIX password:
  passwd:password updated successfully
  

  

  创建共享的文件夹:
  root@zhf-linux:/etc#mkdir /home/project
  root@zhf-linux:/etc#chgrp users /home/project
  root@zhf-linux:/home#chmod 2770 /home/project
  

  samba用户帐号必须要存在与/etc/passwd中,但是samba的密码与linux的密码可以不一样。前面我们新增了用户并且设置了密码。但是对于samba服务器来说,用户的密码文件都默认存在/var/lib/samba/private内,且用户密码使用TDB数据库格式。因此我们需要将新增的用户添加到TDB数据库中去
  使用pdbedit命令进行添加
  root@zhf-linux:/var/log/samba#pdbedit -a -u smb1
  newpassword:
  retypenew password:
  Unixusername:        smb1
  NTusername:         
  AccountFlags:        [U          ]
  UserSID:             S-1-5-21-144210916-2780440130-1362333617-1000
  PrimaryGroup SID:    S-1-5-21-144210916-2780440130-1362333617-513
  FullName:            
  HomeDirectory:       \\zhf-linux\smb1
  HomeDirDrive:        
  LogonScript:         
  ProfilePath:         \\zhf-linux\smb1\profile
  Domain:ZHF-LINUX
  Accountdesc:         
  Workstations:
  Mungeddial:         
  Logontime:           0
  Logofftime:          never
  Kickofftime:         never
  Passwordlast set:    Mon, 06 Nov 2017 09:50:48 CST
  Passwordcan change:  Mon, 06 Nov 2017 09:50:48 CST
  Passwordmust change: never
  Lastbad password   : 0
  Badpassword count  : 0
  Logonhours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  

  还可以查看下面有多少用户。修改密码可以采用smbpasswdsmb1的命令
  root@zhf-linux:/var/log/samba#pdbedit -L
  smb1:1101:
  

  添加好用户后,下一步就是需要编辑smb.conf文件
  [global]
  security=user
  passdbbackend=tdbsam
  [homes]
  comment= home directory
  browseable= no
  writeable= yes
  createmode = 0664
  directorymode = 0775
  [project]
  comment= smbuser’s project
  path=/home/project
  browseable= yes
  writable= yes
  writelist = @users
  在window下输入\\192.168.0.11可以看到project和share两个共享目录,点击project会提示输入用户名和密码。输入后可能会遇到不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接的提示。
  事实上这个不是samba的限制。是Windows的限制。
始终要用public=yes的话,上面的方法都不能有效解决,因为:
在打开存在public=yes的samba服务器时,如果首先点击了有public=yes的共享资源的时候,widows会用默认的用户名去连接服务器,一般就是windows的登录名(可以在服务器端查看到的),这时候,再去点击没有public=yes的共享资源,由于使用了user级别,服务器就会要求验证,这时,之前的默认登录已经存在,就出现了这种故障了
  这个是windows的问题,解决办法有2个:
  1使用命令netuse * /del   /y
  2注销windows然后重新进入
  3设置public=no

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-408006-1-1.html 上篇帖子: Linux性能测试分析命令_sar 下篇帖子: linux服务器进程信息查看命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表