在Ubuntu 20.04| 18.04&Debian 10上安装和配置Samba Server共享
欢迎我们关于如何在Debian 10服务器(Buster)和Ubuntu 20.04/18.04 Linux系统上安装和配置Samba共享的教程。
Samba是服务器消息块(SMB)和常用Internet文件系统(CIFS)协议的开源实现,该协议在各种操作系统之间提供客户端之间的文件和打印服务。
通过在Debian 10(Buster)/Ubuntu 18.04上配置Samba Server共享,我们可以轻松地共享Windows和Linux操作系统之间的文件夹或者文件。
在此上下文中,Windows计算机将被用作客户端访问Linux上的Samba(Debian 10/Ubuntu 18.04)。
第1步:在Debian 10/Ubuntu 20.04/18.04 LTS上安装Samba Server
要在Debian 10 Buster/Ubuntu 20.04/18.04上安装Samba,请使用命令:
sudo apt -y update sudo apt -y install samba
如果我们使用的是静态IP地址,请在要求使用从DHCP使用WINS设置时答案否。
安装包后,请继续执行第2步,我们将执行配置和管理Samba服务。
第2步:在Debian 10 Buster/Ubuntu 20.04/18.04上配置Samba分享
Samba在/etc/samba/smb.conf中使用配置文件。
如果更改此配置文件,则在重新启动Samba守护程序之前,更改不会生效。
让我们首先创建通过Samba共享的目录。
该目录必须在SMB.conf中配置之前存在。
我们将在/家庭中创造一个。
sudo mkdir -p /home/share
无需身份验证访问所有内容(不推荐)
该目录应该是可读性的和可写的所有用户。
sudo chmod 777 /home/share
在/etc/samba/smb.conf文件上配置Samba共享。
$sudo vim /etc/samba/smb.conf [global] # Configure correct UTP unix charset = UTF-8 # Change this to the workgroup/NT-domain name your Samba server will be part of workgroup = WORKGROUP interfaces = 127.0.0.0/8 eth0 bind interfaces only = yes # Set share configuration at the end [Docs] path = /home/share writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777
配置详细信息:
- Docs–Samba共享名称
- path = /home/share–要共享的目录
- guest ok =yes–打开来宾共享
- guest only = yes–所有受保护为来宾
- writable = yes–将共享目录设置为可写目录
- create mode=0777, directory mode =0777–允许访问所有
配置安全Samba共享(推荐)
将Samba Share Directory的组所有权设置为Sambashare Group。
sudo chgrp sambashare /home/share
创建Samba Share用户。
用Samba Share用户替换User1以创建。
sudo useradd -M -d /home/share/user1 -s /usr/sbin/nologin -G sambashare user1 sudo mkdir /home/share/user1 sudo chown user1:sambashare /home/share/user1 sudo chmod 2770 /home/share/user1
设置用户密码并确认。
$sudo smbpasswd -a user1 New SMB password: Retype new SMB password: Added user user1.
使用命令设置密码后启用Samba帐户:
$sudo smbpasswd -e user1 Enabled user user1.
我们在Samba共享父目录中创建了一个用户的主目录,并将所有权设置为Samba共享组。
让我们创建另一个用户。
sudo useradd -M -d /home/share/smbadmin -s /usr/sbin/nologin -G sambashare smbadmin sudo mkdir /home/share/smbadmin sudo smbpasswd -a smbadmin sudo smbpasswd -e smbadmin sudo chown smbadmin:sambashare /home/share/smbadmin sudo chmod 2770 /home/share/smbadmin
配置安全的Samba共享。
[user1] path = /home/share/user1 read only = no browseable = no force create mode = 0660 force directory mode = 2770 valid users = @user1 @sambashare [smbadmin] path = /home/share/smbadmin read only = no browseable = yes force create mode = 0660 force directory mode = 2770 valid users = @sambashare @smbadmin
在进行更改后重新启动Samba守护程序。
sudo systemctl restart smbd nmbd
确认服务正在运行。
如果我们有一个主动防火墙,请运行:
sudo ufw allow 'Samba'
第3步:配置Samba客户端
要访问Linux系统上的Samba共享,我们需要安装和配置Samba客户端。
---------- Install Samba client on Ubuntu/Debian --- $sudo apt -y install smbclient cifs-utils ---------- Install Samba client on CentOS/RHEL/Fedora --- $sudo yum -y install samba-client cifs-utils $sudo dnf -y install samba-client cifs-utils
访问Samba分享 - 暂时
$smbclient //sambaserver/share -U sambausername Example: $smbclient //192.168.122.52/user1 -U user1 WARNING: The "syslog" option is deprecated Enter WORKGROUP\user1's password: Try "help" to get a list of possible commands. smb: \> list 0: server=192.168.122.52, share=user1 smb: > ls . D 0 Sun May 14 01:10:39 2019 .. D 0 Sun May 14 00:49:13 2019 latest.zip N 12121295 Tue Jun 18 10:52:03 2019 9544896 blocks of size 1024. 7918732 blocks available smb: > pwd Current directory is 2.168.122.52\user1\
我们可以使用Mount和CIFS类型选项将Samba分享到本地Linux系统中的目录。
$mkdir -p ~/mounts/shares $mount -t cifs -o username=user1 //192.168.122.52/user1 ~/mounts/shares $df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 2.9G 38G 8% / devtmpfs 488M 0 488M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 6.7M 489M 2% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000 //192.168.122.52/user1 9.2G 1.6G 7.6G 18% /home/theitroad/mounts/shares
使用fstab挂载Samba共享。
我们可以使用FSTAB文件持续到SAMBA Shares通过系统重新启动安装。
在我的示例中,我的下行添加到/oct/fstab文件的末尾。
//192.168.122.52/user1 /mnt/shares cifs credentials=/.sambacreds 0 0
然后我创建了一个凭据文件。
$cat /.sambacreds username=user1 password=password domain=WORKGROUP
测试:
$sudo mkdir -p /mnt/shares $sudo mount -a $df -hT | grep cifs //192.168.122.52/user1 cifs 9.2G 1.6G 7.6G 18% /mnt/shares
对于Windows Desktop Machines,请遵循在Windows上安装Samba共享的标准过程。