文件共享 | Samba配置用户认证

Samba可以用于Linux与windows系统直接的文件共享和打印共享,也可以用于Linux与Linux、Mac之间的资源共享。不过Linux与Linux之间,多用NFS(网络文件系统)进行文件共享。

1.环境说明

角色 主机名 IP 系统版本
Samba服务器 sy-gmh-sa-kvm.shaoyan.pro 192.168.167.254 CentOS Linux release 7.6.1810 (Core)

2.安装和配置Samba

2.1.添加使用阿里云yum源

操作之前先备份现有yum配置。

# Centos
[root@sy-gmh-sa-kvm:~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# epel
[root@sy-gmh-sa-kvm:~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@sy-gmh-sa-kvm:~]# yum clean all
[root@sy-gmh-sa-kvm:~]# yum makecache

2.2.安装Samba服务

[root@sy-gmh-sa-kvm:~]# yum install samba -y
[root@sy-gmh-sa-kvm:~]# rpm -qa |grep samba
samba-common-4.8.3-6.el7_6.noarch
samba-common-libs-4.8.3-6.el7_6.x86_64
samba-libs-4.8.3-6.el7_6.x86_64
samba-4.8.3-6.el7_6.x86_64
samba-client-libs-4.8.3-6.el7_6.x86_64
samba-common-tools-4.8.3-6.el7_6.x86_64

2.3.配置Samba

[root@sy-gmh-sa-kvm:~]# egrep -v "#|^$" /etc/samba/smb.conf
[global]
 workgroup = SAMBA
 security = user
 passdb backend = tdbsam
 printing = cups
 printcap name = cups
 load printers = yes
 cups options = raw
[sy]
 comment = SY Home Directories
 path = /data/share  # 共享目录
 valid users = @sy  # 设置用户组可以访问
 read only = No  # 禁用只读
 write list = sy  # 设置具有写入权限用户列表
 inherit acls = Yes

参数解释: security = user

说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。

  • share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
  • user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
  • server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
  • domain:域安全级别,使用主域控制器(PDC)来完成认证。

以上,可见,简单使用场景,配置user级别合适。

2.4.启动服务、并开机自启

[root@sy-gmh-sa-kvm:~]# systemctl start smb
[root@sy-gmh-sa-kvm:~]# systemctl enable smb
[root@sy-gmh-sa-kvm:~]# systemctl status smb
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2019-09-17 23:16:14 CST; 9s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 14622 (smbd)
   Status: "smbd: ready to serve connections..."
   CGroup: /system.slice/smb.service
           ├─14622 /usr/sbin/smbd --foreground --no-process-group
           ├─14625 /usr/sbin/smbd --foreground --no-process-group
           ├─14626 /usr/sbin/smbd --foreground --no-process-group
           └─14627 /usr/sbin/smbd --foreground --no-process-group

9月 17 23:16:14 sy-gmh-sa-kvm.shaoyan.pro systemd[1]: Starting Samba SMB Daemon...
9月 17 23:16:14 sy-gmh-sa-kvm.shaoyan.pro smbd[14622]: [2019/09/17 23:16:14.967858, 0] ../lib/util/become_daemon.c:138(daem...eady)
9月 17 23:16:14 sy-gmh-sa-kvm.shaoyan.pro smbd[14622]: daemon_ready: STATUS=daemon 'smbd' finished starting up and ready t...tions
9月 17 23:16:14 sy-gmh-sa-kvm.shaoyan.pro systemd[1]: Started Samba SMB Daemon.
Hint: Some lines were ellipsized, use -l to show in full.

# 查看端口
[root@sy-gmh-sa-kvm:~]# netstat -anltp|grep smb
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 14622/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 14622/smbd
tcp6 0 0 :::445 :::* LISTEN 14622/smbd
tcp6 0 0 :::139 :::* LISTEN 14622/smbd
[root@sy-gmh-sa-kvm:~]#

2.5.添加Samba用户

# user 级别用户认证,添加的用户需要在系统中存在,所以先添加系统用户,shell可以设置为nologin
[root@sy-gmh-sa-kvm:~]# useradd sy
# 添加Samba用户,设置密码
[root@sy-gmh-sa-kvm:~]# chown -R sy.sy /data/share/  # 设置共享目录权限
[root@sy-gmh-sa-kvm:~]# pdbedit -a sy
new password:
retype new password:
Unix username: sy
NT username:
Account Flags: [U ]
User SID: S-1-5-21-2291618123-402002592-296447695-1000
Primary Group SID: S-1-5-21-2291618123-402002592-296447695-513
Full Name:
Home Directory: \sy-gmh-sa-kvmsy
HomeDir Drive:
Logon Script:
Profile Path: \sy-gmh-sa-kvmsyprofile
Domain: SY-GMH-SA-KVM
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 二, 17 9月 2019 23:20:52 CST
Password can change: 二, 17 9月 2019 23:20:52 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

2.6.防火墙放行端口

[root@sy-gmh-sa-kvm:~]# iptables -I INPUT -p tcp -m tcp --dport 139 -j ACCEPT
[root@sy-gmh-sa-kvm:~]# iptables -I INPUT -p tcp -m tcp --dport 445 -j ACCEPT
[root@sy-gmh-sa-kvm:~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 确定 ]
[root@sy-gmh-sa-kvm:~]#

3.访问测试

mac访问:桌面菜单栏 -> 前往 -> 连接服务器, 输入smb://192.168.167.254 ,ip是Samba服务器的IP。

输入之前设置的账号密码:

连接成功。如果无法写入。从两方面进行排查,一个是Samba的用户配置权限,第二个是共享目录的权限。

win连接,打开资源管理器,比如随便打开一个文件夹,在地址栏输入\192.168.167.254

以上,可以简单用上Samba文件共享啦。如果是公司使用,多人、多部门也是可以的,配置权限细分一下就OK。

未经允许不得转载:大自然的搬运工 » 文件共享 | Samba配置用户认证

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址