安装Samba服务器
让我们从Samba Server安装开始:
# apt install samba
为了测试,建议还安装Samba客户端:
# apt install smbclient
Samba 现在应该是运行的状态:
# systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2015-06-13 10:35:34 AEST; 3min 32s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 1654 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smbd.service ├─1654 /usr/sbin/smbd ├─1655 /usr/sbin/smbd ├─1656 /usr/sbin/smbd └─1659 /usr/sbin/smbd
默认Samba配置
SAMBA主配置文件称为“/etc/samba/smb.conf”。
备份原始配置文件:
# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
新/etc/samba/smb.conf现在应该包含:
# cat /etc/samba/smb.conf [global] workgroup = WORKGROUP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
重新启动Samba Server并使用SMB客户端确认所有导出的Samba组:
# systemctl restart smbd # smbclient -L localhost WARNING: The "syslog" option is deprecated Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment --------- ---- ------ print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.5.8-Debian) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment --------- ------ LASERPRINTER onitroad Samba 4.5.8-Debian Workgroup Master --------- ------ WORKGROUP onitroad
添加Samba用户
Samba有自己的用户管理系统。
但是,Samba用户列表中存在的任何用户也必须在/etc/passwd
文件中存在。
因为这个原因,在创建任何新的Samba用户之前,使用useradd
命令创建一个新用户。
然后再使用smbpasswd
命令创建新的Samba用户:
# smbpasswd -a onitroad New SMB password:
Samba Home目录共享
默认情况下,所有主目录都以只读方式导出,不可“浏览”。
要更改此默认配置设置,请将当前的“homes”共享定义更改为:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
每次对/etc/samba/smb.conf
配置文件进行更改时,请不要忘记重新启动Samba服务器r守护程序,以便设置生效:
# systemctl restart smbd
Samba公共匿名共享
以下Samba定义将允许任何用户读取和写入SAMBA 在“/var/samba /目录”下共享的数据。
首先,创建一个新目录并使任何人访问它:
# mkdir /var/samba # chmod 777 /var/samba/
接下来,在“/etc/samba/smb.conf”Samba配置文件中添加新的Samba共享定义:
[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
重新启动Samba Server守护程序:
# systemctl restart smbd
挂载Samba共享
在windows可以通过 \\samba-server-ip
查看Samba共享
接下来,通过右键单击共享并选择“Map Network Drive ...”选项来映射任何共享目录。
勾选,使用不同的凭据(使用不同的凭据)选项,并通过提供以前的步骤中创建的用户凭据来完成网络驱动器映射。
其他说明
如何列出Samba用户:
# pdbedit -w -L
如何删除Samba用户:
# pdbedit -x -u username