转载请注明来源"老男孩IT教育"
来源网址:https://www.sholdboyedu.com/new/435.html

Samba服务是实现Windows和Linux操作系统网络共享,首先我们需要在Linux操作系统中安装,所以在学习linux运维的时候一定要重视samba服务,下面我们一起来学习吧!


Samba服务 桑巴Smb是基于cs架构


作用:用于跨平台进行文件共享


优点:兼容性好,较为安全(具备身份验证)


缺点:仅限内网环境使用


应用:一般在办公环境下使用


rz 也是一种可以在Windows和Linux操作系统之间进行文件共享的命令,只不过传输文件较小。


一、实现单用户共享文件


步骤:


1、安装


# yum -y install samba


2、配置(爱配不配)(默认可用,不需要配置)


# vim /etc/samba/smb.conf


3、启动


第一次启动# systemctl start smb


修改配置文件后重启服务# systemctl restart smb


3.5、添加用户


useradd USERNAME


smbpasswd -a USERNAME


4.1、windows访问


win+R打开运行窗口,输入两个反斜线加上samba服务器的地址。输入你的用户名和密码即可


4.2、挂载(Linux系统之间)


# mount -t cifs -o username=USERNAME,password=PASSWORD //ServerIP/ShareDIR /LocalDIR


5、测试


在Windows系统下删除远程连接:


net use * /delete


扩展:


如需实现开机自动挂载,需要修改/etc/fstab并添加:


//ServerIP/ShareDIR/MountDIRcifsusername=USERNAME,password=PASSWORD00


二、实现多用户共享文件


1、配置相关的配置文件


# yum /etc/samba/smb.conf


配置文件内容:


[nidaye]              #文件共享;访问用户看到的目录名称


              comment = abcdef            #共享目录描述,可以随意填写


              path = /nimei              #共享目录(本机实际目录名称)路径,需要绝对路径


              write list = a b c d            #可写入的用户名单,多个用户使用空格隔开


              read only = yes/no            #是否只读


              writeable = yes/no            #是否可写


            valid users = A B C D              #可访问的用户,多个用户使用空格隔开


              browseable = yes/no        #(浏览,阅读)是否可显


              directory mask = 0775            #创建目录默认权限


              create mask = 0664          #创建文件默认权限


              guest ok = yes/no              #是否(不)需要二次验证(yes为不需要)


              public = yes/no          #是否(不)需要二次验证(yes为不需要)


2、smbclient可以查看USERNAME的所共享的目录或文件


smbclient -U USERNAME -L 服务端IP地址


                    --user            --list 


三、创建Samba服务的第二种方法


1、下载安装


2、修改配置文件


vim /etc/samba/smb.conf


[ren] 


        path = /ren


        public = yes


        read only = no


3、重启Samba服务


systemctl restart smb


4、创建普通用户及Samba用户


useradd ryz


pdbedit -a -u ryz


-a -create 创建Samba用户


-u -user=USER 使用已有的用户名


5、给共享文件的其他人增加读写权限


chmod -R a+w /ren


6、在Windows系统查看共享文件


按下win+R进入运行界面,输入:\\192.168.11.3


7、映射网络驱动器


在windows系统中进入Samba共享文件夹后,右击文件夹,选择“映射网络驱动器”,确定;这样的话,就可以在“我的电脑”下的“网络位置”找到该共享目录,以后访问的话就不用在运行界面输入相关命令了。


遇到的问题:


1、挂载时遇到以下问题导致挂载不上


mount: //192.168.11.3/ryz 写保护,将以只读方式挂载


mount: 无法以只读方式挂载 //192.168.11.3/ryz


2、解决办法:


# mount -o remount,rw /


可以参考mount相关知识:


mount 命令  [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点


      -l  查询系统中已经挂载的设备,-l 会显示卷标


      -a  依据配置文件/etc/fstab的内容,自动挂载


      -t  系统文件,加入系统类型指定挂载类型,可以ext3,ext4, iso9660等系统文件


      -L  卷标名:挂载指定分区,而不是设备文件名挂载


      -o  特殊选择:可以指定挂载额外选项


      atime/noatime 更新访问时间/不更新访问时间。访问分区时,是否更新文件的访问时间,默认更新


      async/sync    异步/同步 默认异步


      auto/noauto  自动/手动  mount -a命令执行时,是否会自动安装/etc/fstab 文件内容挂载,默认自动


      defaults      定义默认值,相当于rw、suid、dev、exec、auto、nouser、async这七个选择


      exec/noexec  执行/不执行,设定师傅允许文件系统中执行可执行文件,默认是exec允许


      remount      重新挂载已经挂载的文件系统,一般用于修改特殊权限


      rw/ro        读写/只读,文件系统挂载时,是否有读写的权限,默认rw


      suid/nosuid  具有/不具有SUID权限,设定文件系统是否具有SUID权限,默认具有


      user/nouser  允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认不允许,只有root可以挂载分区


      usrquata      写入代表文件系统支持用户磁盘配额,默认不支持


      grpquata      写入代表文件系统支持组磁盘配额,默认不允许


eg: mount -o  remount,noexec /home  让 /home目录下不能执行可执行文件


拓展:两种防火墙的关闭方式


1、关闭firewalld防火墙


systemctl status firewalld 查看状态


systemctl stop firewalld 临时关闭


systemctl disable firewalld 永久关闭


2、关闭selinux防火墙


getenforce 查询防火墙的状态:


enforcing(强制杀死) permissive(警告) disabled(关闭防火墙)


setenforce 0 临时关闭


配置文件:


/etc/selinux/config


SELINUX=disabled #永久关闭


reboot 重启系统生效


Samba服务是实现Windows和Linux操作系统网络共享,首先我们需要在Linux操作系统中安装