Debian10开启Samba文件夹共享服务

安装

apt install samba

配置

smbpasswd -a pray #然后输入密码
pdbedit -w -L #列出现有的Samba用户列表
nano /etc/samba/smb.conf
chmod 777 /disk1 #给共享目录权限,其实给个600权限更安全
[disk1]
path = /disk1
writable = yes
guest ok = yes
write list = pray
validusers = pray
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

设置服务

重启服务service smbd restart
设置开机服务systemctl enable nmbd.service

共享选项及说明
[共享名称]:共享中看到的共享目录名
comment = 共享的描述.
path = 共享目录路径(可以用%u、%m这样的宏来代替路径如:/home/share/%u)
browseable = yes/no指定该共享是否在“网上邻居”中可见。
writable = yes/no指定该共享路径是否可写。
read only = yes/no设置共享目录为只读(注意设置不要与writable有冲突)
available = yes/no指定该共享资源是否可用。
admin users = bobyuan,jane指定该共享的管理员,用户验证方式为“security=share”时,此项无效。
valid users = bobyuan,jane允许访问该共享的用户或组-“@+组名”
invalid users = 禁止访问该共享的用户与组(同上)
write list = 允许写入该共享的用户
public = yes/no共享是否允许guest账户访问。
guest ok = yes/no意义同“public”。
create mask = 0700指定用户通过Samba在该共享目录中创建文件的默认权限。0600代表创建文件的权限为rw——-
directory mask = 0700指定用户通过Samba在该共享目录中创建目录的默认权限。0600代表创建目录的权限为rwx——

 

下面的这组指令完成了将shareddir目录共享到用户组rdlibs的操作:

sudo groupadd rdlibs
sudo usermod -G rdlibs wupf
sudo usermod -G rdlibs lizq
sudo usermod -G rdlibs liyun
sudo chown wupf:rdlibs shareddir
sudo chmod g+w shareddir
sudo chmod g+s shareddir
实现了如下共享方案:

用户组rdlibs内的成员(wupf,lizq,liyun)对目录shareddir有读写权限,组外成员为只读权限;
用户组rdlibs内的任一成员在shareddir目录(含子目录)下创建的目录或文件,其他组内成员拥有同等权限,组外成员默认为只读权限;
另外:搭配samba服务,可以实现linux主机共享目录的应用场景。

二、访问Window共享目录

  1. 在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题。

    Linux访问Windows共享或者Linux共享资料给Windows时,其实都是在使用一个叫做Samba的软件,这个软件已经使用多年,稳定性和可靠性得到了很好的验证,也是很多网络NAS常用的软件。

    我们这里要讲的Linux需要用到的工具就是Samba软件中的一种,samba-client。

    在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。

    Linux怎样访问Windows共享文件和文件夹
  2. 如果samba-client没有安装,就需要使用命令“yum install samba-client”安装一下,yum会自动安装samba-client所需的相关依赖库,安装时选择Y就行了。

    针对常见的Debian Linux发行版,如Ubuntu或CentOS,也可以使用“sudo apt-get install smbclient”和“sudo apt-get install smbfs”安装相应的共享访问工具。

    Linux怎样访问Windows共享文件和文件夹
  3. 准备停当,就可以尝试访问Windows共享文件夹了。我们可以首先使用“smbclient -L //IP地址 -U 用户名”查看一下该用户共享权限下的共享情况。其中不带“$”的那个,就是我们可以访问的共享文件夹了,其中“-U”是用来指定查询共享权限的用户名的。

    Linux怎样访问Windows共享文件和文件夹
  4. Linux将共享文件夹也是当作磁盘资源对待的,因此需要使用mount工具将其挂载到本地文件空间才可以访问,这一点就像Windows常用的网络磁盘映射是一样的。

    因此,首先我们需要创建一个挂载点,也就是在本地目录空间中创建一个挂载目录,如“mkdir -p /mnt/MYSHARE”。

    挂载点创建之后,就可以使用mount命令挂载共享文件夹了,“mount -t cifs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名称/共享目录”,其中cifs使用Linux常用的网络文件类型,也可以使用smbfs,以系统可以识别为准,如Ubuntu常见命令就是“sudo mount -t smbfs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名称/共享目录”。“-o”表示挂载参数,常见的是需要提供共享的用户名和密码,另外需要注意的是iocharset和codepage,这两个参数是用来解决系统之间的字符编码转换的,如果出现乱码的情况,是需要调整这两个参数的,针对简体中文,使用utf8和cp936一般都可以解决问题,关于字符编码已经超出了本经验的范围。

    挂载完成之后,就可以像使用本地文件目录一样访问Windows共享文件夹和文件了。

    Linux怎样访问Windows共享文件和文件夹
  5. 当然,Linux也有图形化的资源管理器,挂载之后,资源管理器也可以正常访问的。进入Linux桌面,打开“我的电脑”。

    Linux怎样访问Windows共享文件和文件夹
  6. 然后就可以像浏览本地文件一样,浏览共享的Windows文件夹和文件了,与命令行并没有太多的差异。

    Linux怎样访问Windows共享文件和文件夹
  7. Windows共享资料使用完毕之后,也可以将其使用umount命令卸载,卸载就很简单了,直接使用“umount /mnt/MYSHARE”就可以了,其中MYSHARE是就是我们前面创建的挂载点了。

    如果以后不需要,也可以将挂载点删除的。

    Linux怎样访问Windows共享文件和文件夹
  8. 挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。

    如果希望Linux开机自动挂载Windows共享文件夹,则需要将挂载命令添加到Linux的“/etc/fstab”,也就是将前述的命令参数按照fstab的要求添加到fstab里面,这里就不再展开了,详情参考fstab相关帮助即可。

linux服务器上的操作实例

1) apt-get install smbclient smbfs

创建挂载目录/mnt/APP

[root@dev ~]# mkdir /mnt/APP

mount -t cifs -o username=lwp //192.168.5.100/tmp /mnt/APP

使用mount.cifs进行挂载操作:(下面的用户名和密码是登陆windows的)

[root@dev ~]# mount.cifs //192.168.9.155/APP /mnt/APP/ -o user=administrator,pass=dsff#$TTT

2)查看下,发现已经挂在上了
[root@dev ~]# ls /mnt/APP/
2.sql 3.sql 8633上线sql.zip

[root@dev mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 450G 97G 331G 23% /
tmpfs 3.9G 228K 3.9G 1% /dev/shm
/dev/sda1 194M 34M 150M 19% /boot
//192.168.9.155/APP 123G 12G 111G 10% /mnt/APP

[root@dev mnt]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
//192.168.9.155/APP on /mnt/APP type cifs (rw)

3)卸载
[root@dev mnt]# umount /mnt/APP
[root@dev mnt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 450G 97G 331G 23% /
tmpfs 3.9G 228K 3.9G 1% /dev/shm
/dev/sda1 194M 34M 150M 19% /boot

 

例:

apt-get install cifs-utils
mount -t cifs //192.168.1.3/tools /mnt/py -o user=zenglee,pass=h933
或者
mount -t cifs //10.0.0.25/microsoft /mnt
或者
smbmount //10.0.0.25/microsoft /mnt

————————————————
版权声明:本文为CSDN博主「神农民」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shennongminblog/article/details/77488245