centos7安装samba服务器,这是一种比较粗暴的配置方式,没有任何安全防御措施,任何人都可以访问服务器上的文件,并且没有权限设置,这样做的目的就是方便Windows和Linux之间传输文件使用,简单记录一下搭建的过程
一.安装
[root@localhost ~]# yum -y install samba samba-client samba-common
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Resolving Dependencies
--> Running transaction check
---> Package samba.x86_64 0:4.4.4-14.el7_3 will be installed
--> Processing Dependency: samba-libs = 4.4.4-14.el7_3 for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: samba-common-tools = 4.4.4-14.el7_3 for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: samba-common-libs = 4.4.4-14.el7_3 for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: samba-client-libs = 4.4.4-14.el7_3 for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: libwbclient = 4.4.4-14.el7_3 for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: libxattr-tdb-samba4.so(SAMBA_4.4.4)(64bit) for package: samba-4.4.4-14.el7_3.x86_64
--> Processing Dependency: libxattr-tdb-samba4.so()(64bit) for package: samba-4.4.4-14.el7_3.x86_64
---> Package samba-client.x86_64 0:4.4.4-9.el7 will be updated
---> Package samba-client.x86_64 0:4.4.4-14.el7_3 will be an update
--> Processing Dependency: libsmbclient = 4.4.4-14.el7_3 for package: samba-client-4.4.4-14.el7_3.x86_64
---> Package samba-common.noarch 0:4.4.4-9.el7 will be updated
---> Package samba-common.noarch 0:4.4.4-14.el7_3 will be an update
--> Running transaction check
---> Package libsmbclient.x86_64 0:4.4.4-9.el7 will be updated
---> Package libsmbclient.x86_64 0:4.4.4-14.el7_3 will be an update
---> Package libwbclient.x86_64 0:4.4.4-9.el7 will be updated
---> Package libwbclient.x86_64 0:4.4.4-14.el7_3 will be an update
---> Package samba-client-libs.x86_64 0:4.4.4-9.el7 will be updated
---> Package samba-client-libs.x86_64 0:4.4.4-14.el7_3 will be an update
---> Package samba-common-libs.x86_64 0:4.4.4-9.el7 will be updated
---> Package samba-common-libs.x86_64 0:4.4.4-14.el7_3 will be an update
---> Package samba-common-tools.x86_64 0:4.4.4-14.el7_3 will be installed
---> Package samba-libs.x86_64 0:4.4.4-14.el7_3 will be installed
--> Processing Dependency: libpytalloc-util.so.2(PYTALLOC_UTIL_2.1.6)(64bit) for package: samba-libs-4.4.4-14.el7_3.x86_64
--> Processing Dependency: libpytalloc-util.so.2(PYTALLOC_UTIL_2.0.6)(64bit) for package: samba-libs-4.4.4-14.el7_3.x86_64
--> Processing Dependency: libpytalloc-util.so.2()(64bit) for package: samba-libs-4.4.4-14.el7_3.x86_64
--> Running transaction check
---> Package pytalloc.x86_64 0:2.1.6-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================
Package Arch Version Repository Size
=====================================================================================================
Installing:
samba x86_64 4.4.4-14.el7_3 updates 610 k
Updating:
samba-client x86_64 4.4.4-14.el7_3 updates 547 k
samba-common noarch 4.4.4-14.el7_3 updates 191 k
Installing for dependencies:
pytalloc x86_64 2.1.6-1.el7 base 15 k
samba-common-tools x86_64 4.4.4-14.el7_3 updates 451 k
samba-libs x86_64 4.4.4-14.el7_3 updates 260 k
Updating for dependencies:
libsmbclient x86_64 4.4.4-14.el7_3 updates 126 k
libwbclient x86_64 4.4.4-14.el7_3 updates 100 k
samba-client-libs x86_64 4.4.4-14.el7_3 updates 4.6 M
samba-common-libs x86_64 4.4.4-14.el7_3 updates 161 k
Transaction Summary
=====================================================================================================
Install 1 Package (+3 Dependent packages)
Upgrade 2 Packages (+4 Dependent packages)
Total download size: 7.0 M
Downloading packages:
updates/7/x86_64/prestodelta | 954 kB 00:00:00
Delta RPMs reduced 5.4 M of updates to 553 k (90% saved)
(1/10): libsmbclient-4.4.4-9.el7_4.4.4-14.el7_3.x86_64.drpm | 76 kB 00:00:00
(2/10): samba-client-libs-4.4.4-9.el7_4.4.4-14.el7_3.x86_64.drpm | 261 kB 00:00:00
(3/10): samba-common-libs-4.4.4-9.el7_4.4.4-14.el7_3.x86_64.drpm | 77 kB 00:00:00
warning: /var/cache/yum/x86_64/7/updates/packages/libwbclient-4.4.4-14.el7_3.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for libwbclient-4.4.4-14.el7_3.x86_64.rpm is not installed
(4/10): libwbclient-4.4.4-14.el7_3.x86_64.rpm | 100 kB 00:00:00
Public key for pytalloc-2.1.6-1.el7.x86_64.rpm is not installed
(5/10): pytalloc-2.1.6-1.el7.x86_64.rpm | 15 kB 00:00:00
(6/10): samba-4.4.4-14.el7_3.x86_64.rpm | 610 kB 00:00:00
(7/10): samba-common-4.4.4-14.el7_3.noarch.rpm | 191 kB 00:00:00
(8/10): samba-common-tools-4.4.4-14.el7_3.x86_64.rpm | 451 kB 00:00:00
(9/10): samba-libs-4.4.4-14.el7_3.x86_64.rpm | 260 kB 00:00:00
(10/10): samba-client-4.4.4-9.el7_4.4.4-14.el7_3.x86_64.drpm | 139 kB 00:00:05
Finishing delta rebuilds of 1 package(s) (547 k)
-----------------------------------------------------------------------------------------------------
Total 351 kB/s | 2.1 MB 00:00:06
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-3.1611.el7.centos.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : samba-common-4.4.4-14.el7_3.noarch 1/16
Updating : libwbclient-4.4.4-14.el7_3.x86_64 2/16
Updating : samba-client-libs-4.4.4-14.el7_3.x86_64 3/16
Updating : samba-common-libs-4.4.4-14.el7_3.x86_64 4/16
Updating : libsmbclient-4.4.4-14.el7_3.x86_64 5/16
Installing : pytalloc-2.1.6-1.el7.x86_64 6/16
Installing : samba-libs-4.4.4-14.el7_3.x86_64 7/16
Installing : samba-common-tools-4.4.4-14.el7_3.x86_64 8/16
Installing : samba-4.4.4-14.el7_3.x86_64 9/16
Updating : samba-client-4.4.4-14.el7_3.x86_64 10/16
Cleanup : samba-client-4.4.4-9.el7.x86_64 11/16
Cleanup : samba-common-libs-4.4.4-9.el7.x86_64 12/16
Cleanup : libsmbclient-4.4.4-9.el7.x86_64 13/16
Cleanup : libwbclient-4.4.4-9.el7.x86_64 14/16
Cleanup : samba-client-libs-4.4.4-9.el7.x86_64 15/16
Cleanup : samba-common-4.4.4-9.el7.noarch 16/16
Verifying : samba-common-libs-4.4.4-14.el7_3.x86_64 1/16
Verifying : samba-client-4.4.4-14.el7_3.x86_64 2/16
Verifying : samba-4.4.4-14.el7_3.x86_64 3/16
Verifying : samba-client-libs-4.4.4-14.el7_3.x86_64 4/16
Verifying : libsmbclient-4.4.4-14.el7_3.x86_64 5/16
Verifying : samba-libs-4.4.4-14.el7_3.x86_64 6/16
Verifying : samba-common-tools-4.4.4-14.el7_3.x86_64 7/16
Verifying : samba-common-4.4.4-14.el7_3.noarch 8/16
Verifying : pytalloc-2.1.6-1.el7.x86_64 9/16
Verifying : libwbclient-4.4.4-14.el7_3.x86_64 10/16
Verifying : samba-client-libs-4.4.4-9.el7.x86_64 11/16
Verifying : libsmbclient-4.4.4-9.el7.x86_64 12/16
Verifying : samba-common-4.4.4-9.el7.noarch 13/16
Verifying : samba-common-libs-4.4.4-9.el7.x86_64 14/16
Verifying : libwbclient-4.4.4-9.el7.x86_64 15/16
Verifying : samba-client-4.4.4-9.el7.x86_64 16/16
Installed:
samba.x86_64 0:4.4.4-14.el7_3
Dependency Installed:
pytalloc.x86_64 0:2.1.6-1.el7 samba-common-tools.x86_64 0:4.4.4-14.el7_3
samba-libs.x86_64 0:4.4.4-14.el7_3
Updated:
samba-client.x86_64 0:4.4.4-14.el7_3 samba-common.noarch 0:4.4.4-14.el7_3
Dependency Updated:
libsmbclient.x86_64 0:4.4.4-14.el7_3 libwbclient.x86_64 0:4.4.4-14.el7_3
samba-client-libs.x86_64 0:4.4.4-14.el7_3 samba-common-libs.x86_64 0:4.4.4-14.el7_3
Complete!
二.修改配置
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ll
total 20
-rw-r--r--. 1 root root 20 May 25 04:33 lmhosts
-rw-r--r--. 1 root root 667 May 25 04:33 smb.conf
-rw-r--r--. 1 root root 11327 May 25 04:33 smb.conf.example
还是先备份一下比较好,毕竟本服务区配置的比较暴力
[root@localhost samba]# cp smb.conf smb_back,conf
原始配置文件内容
[root@localhost samba]# cat smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
配置的比较简单粗暴,不设置任何用户,密码的限制,只设置访问的目录为根目录
[root@bogon samba]# vim smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[myshare]
comment = myshare
path = /
writable = yes
三.添加用户 1.添加Linux用户
[root@bogon ~]# useradd myshare
[root@bogon ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:997:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
libstoragemgmt:x:996:994:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:995:993:User for colord:/var/lib/colord:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
geoclue:x:993:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:992:989::/var/lib/chrony:/sbin/nologin
setroubleshoot:x:991:988::/var/lib/setroubleshoot:/sbin/nologin
sssd:x:990:987:User for sssd:/:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
kongs:x:1000:1000:centos7:/home/kongs:/bin/bash
myshare:x:1001:1001::/home/myshare:/bin/bash
添加samba用户,samba用户必须为Linux用户,否则添加不上
[root@bogon ~]# pdbedit -a myshare
retype new password:
new password: //未设置密码
Unix username: myshare
NT username:
Account Flags: [U ]
User SID: S-1-5-21-178771426-1853948353-1867861984-1001
Primary Group SID: S-1-5-21-178771426-1853948353-1867861984-513
Full Name:
Home Directory: \\bogon\myshare
HomeDir Drive:
Logon Script:
Profile Path: \\bogon\myshare\profile
Domain: BOGON
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 07:06:39 PST
Kickoff time: Wed, 06 Feb 2036 07:06:39 PST
Password last set: Fri, 18 Aug 2017 01:10:03 PDT
Password can change: Fri, 18 Aug 2017 01:10:03 PDT
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
四.重启服务
[root@localhost samba]# systemctl restart nmb
[root@localhost samba]# systemctl restart smb
[root@localhost samba]# ps -ef | grep nmb
root 13192 1 0 19:48 ? 00:00:00 /usr/sbin/nmbd
root 13304 12809 0 19:49 pts/1 00:00:00 grep --color=auto nmb
五.关闭防火墙
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl status firewalld
бё firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2017-08-09 20:04:24 PDT; 2s ago
Docs: man:firewalld(1)
Process: 610 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 610 (code=exited, status=0/SUCCESS)
Aug 09 20:03:16 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 09 20:03:17 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 09 20:04:24 bogon systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 09 20:04:24 bogon systemd[1]: Stopped firewalld - dynamic firewall daemon.
六.客户端连接
说明:尽量不要使用root用户作为samba用户,否则在Windows下写权限会受到限制,需要修改selinux等,这样反而麻烦了。