Samba服务器创建与使用

来源:互联网 发布:kyocera打印机驱动mac 编辑:程序博客网 时间:2024/06/05 03:37

简单使用

服务器端

[root@centos7 ]# yum install samba -y[root@centos7 ]# useradd smbuser -s /sbin/nologin #samba用户必须是Linux用户[root@centos7 ]# smbpasswd -a smbuser #添加samba用户[root@centos7 ]# systemctl start smb

客户端

[root@centos7 ]# yum install samba-client -y[root@centos7 ]# smbclient -L 192.168.6.6 -U smbuser%123456 #查看服务器共享目录Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]    Sharename       Type      Comment    ---------       ----      -------    centos          Disk      centos7    print$          Disk      Printer Drivers    IPC$            IPC       IPC Service (Samba 4.4.4)Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]    Server               Comment    ---------            -------    DATACENTER           Samba 4.6.2    SHARE                Samba 4.4.4    Workgroup            Master    ---------            -------    SAMBA                DATACENTER    WORKGROUP            ROUSI[root@centos7 ]# smbclient //192.168.6.6/centos -U smbuser%123456Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]smb: \> 

默认进入登录用户家目录

Samba高级设置详解

SAMBA服务器配置

全局设置:
[global] 服务器通用或全局设置的部分
特定共享设置:
[homes] 用户的家目录共享
[printers] 定义打印机资源和服务
[sharename] 自定义的共享目录配置
其中: #和;开头的语句为注释,大小写不敏感

配置文件里的宏定义

宏定义 含义 宏定义 含义 %m 客户端主机的NetBIOS名 %M 客户端主机的FQDN %H 当前用户家目录路径 %U 当前用户用户名 %g 当前用户所属组 %h samba服务器的主机名 %L samba服务器的NetBIOS名 %I 客户端主机的IP %T 当前日期和时间 %S 可登录的用户名

SAMBA服务器全局配置

workgroup 指定工作组名称
server string 主机注释信息
netbios name 指定NetBIOS名
interfaces 指定服务侦听接口和IP
hosts allow 可用“,” ,空格,或tab分隔,默认允许所有主机访问, 也可在每个共享独立配置,如在[global]设置将应用并覆盖所有共享设置
IPv4 network/prefix: 172.25.0.0/24 IPv4前缀: 172.25.0.
IPv4 network/netmask: 172.25.0.0/255.255.255.0
主机名: desktop.example.com
以example.com后缀的主机名: .example.com
示例:

hosts allow = 172.25.  #172.25这个网段hosts allow = 172.25. .example.com

hosts deny 拒绝指定主机访问
config file=/etc/samba/conf.d/%U 用户独立的配置文件
Log file=/var/log/samba/log.%m 不同客户机采用不同日志
max log size=50 日志文件达到50K,将轮循rotate,单位KB
Security三种认证方式:
share:匿名(CentOS7不再支持)
user: samba用户(采有linux用户, samba的独立口令)
domain:使用DC(DOMAIN CONTROLLER)认证
passdb backend = tdbsam 密码数据库格式

Samba配置目录共享选项解释

每个共享目录应该有独立的[ ]部分
[共享名称] 远程网络看到的共享名称
comment 注释信息
path 所共享的目录路径
public 能否被guest访问的共享,默认no,是否能匿名登录

smbclient //192.168.6.7/centos  #直接敲回车即可登录,在不设置其他登录权限下

browsable 是否允许所有用户浏览此共享,默认为yes

    Sharename       Type      Comment    ---------       ----      -------    centos          Disk      centos7  <--    print$          Disk      Printer Drivers    IPC$            IPC       IPC Service (Samba 4.4.4)是否能看到共享目录

writeable=yes 可以被所有用户读写,默认为no
read only=no 和writable=yes等价,如与以上设置冲突,放在后面的设置生效,默认只读
write list 三种形式:用户, @组名, +组名,用,分隔如writable=no,列表中用户或组可读写,不在列表中用户只读
valid users 特定用户才能访问该共享,如为空,将允许所有用户,用户名之间用空格分隔

管理SAMBA用户

添加samba用户
smbpasswd -a
pdbedit -a -u
修改用户密码
smbpasswd
删除用户和密码:
smbpasswd –x
pdbedit –x –u
查看samba用户列表:
/var/lib/samba/private/passdb.tdb
pdbedit –L –v
查看samba服务器状态
smbstatus

挂载Samba共享

手动挂载

mount -t cifs -o user=smbuser,password=123456,sec=ntlmssp //192.168.6.6/home/smbuser /mnt/smb

自动挂载

cat /etc/fstab 可以用文件代替用户名和密码的输入//192.168.6.6/home/smbuser /mnt/smb cifs credentials=/etc/smb.txt,sec=ntlmssp 0 0cat /etc/smb.txtusername=smbuserpassword=123456chmod 600 /etc/smb.txt

注:如果挂载出错,提示找不到mount.cifs,可以安装软件包cifs-utils,sec=ntlmssp设置密码hash格式,如果不写会报 mount error(13): Permission denied 错误

NetBIOS名称解析

[global]workgroup = SAMBAsecurity = userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = nocups options = rawnetbios name = share  #名称解析,可以通过这个名字访问Samba服务器log file = /var/log/samba/log.%I #日志文件带访问客户端IP,每个IP一个日志文件log level = 2 #日志记录级别[root@centos7 ]# systemctl start nmb[root@centos7 ]# systemctl restart smb

访问

[root@centos7 ]# smbclient //share/centos -U smbuser%123456

不同用户通过同一个UNC路径访问不同目录

服务器端

useradd -s /sbin/nologin smb1useradd -s /sbin/nologin smb2smbpasswd -a smb1smbpasswd -a smb2mkdir /etc/samba/conf.dvi /etc/samba/smb.conf[global]    config file = /etc/samba/conf.d/%U #添加一行vi /etc/samba/conf.d/smb1[centos]     comment = smb1     path = /home/smb1vi /etc/samba/conf.d/smb2[centos]     comment = smb2     path = /home/smb2  touch /home/smb2/smb2.txttouch /home/smb2/smb2.txt

客户端

smbclient -L 192.168.6.7 -U smb1%123456smbclient //192.168.6.7/centos -U smb1%123456切换用户,可以看到所进入的目录不同

多用户挂载(centos7支持)

服务器端

mkdir /multiuservim /etc/samba/smb.conf[smbshare]path=/multiuserwritable=nowrite list= @adminsuseradd –s /sbin/nologin smbusersmbpasswd –a smbuseruseradd –s /sbin/nologin –G admins hahasmbpasswd –a hahauseradd –s /sbin/nologin xixismbpasswd –a xixisetfacl –m u:haha:rwx /testdir/multiusersetfacl –m g:admins:rwx /testdir/multiuser

客户端

yum -y install cifs-utilsmkdir /mnt/smbecho 'username=smbuser' >/etc/multiuser #创建的用户在服务器上要有echo 'password=centos' >>/etc/multiuserchmod 600 /etc/multiuser以多用户方式挂载:vim /etc/fstab//smbserver/smbshare /mnt/smb cifs credentials=/etc/multiuser,multiuser,sec=ntlmssp 0 0mount -a

在samba客户端实现多用户访问

useradd hahauseradd xixi用root访问ls /mnt/smbtouch /mnt/smb/root.txt用haha访问cifscreds add –u haha smbservertouch /mnt/smb/haha.txt用xixi访问cifscreds add –u xixi smbservertouch /mnt/smb/xixi.txt #没有写权限(对目录、服务没有写权限),只能查看

注:当没有写权限是记得把共享目录权限设成777,打开writeable,默认都有读权限

原创粉丝点击