大家好,又见面了,我是你们的朋友全栈君。
一、安装samba服务以及samba客户端
yum list samba
yum install samba samba-client
安装好samba软件包以后,在系统中会添加名为smb和nmb的标准系统服务,管理员可以通过service(centos6)或systemctl(centos7)工具来控制Samba服务的启动与终止。
其中smbd程序负责监听TCP协议的139端口(SMB协议)、445端口(CIFS协议),而nmbd服务程序负责监听UDP协议的137、138端口(NetBIOS协议)。
netstat -anput | grep mbd
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf
使用如下配置:
# 全局设置:这部分配置项的内容对整个samba服务器都有效。
[global]
workgroup = SAMBA
# share:允许任何匿名用户访问
# user:默认、每一个用户访问时都需要提供账号密码
# domain/server:第三方集中认证
security = user
passdb backend = tdbsam
log file = /var/log/samba/log.%m
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 = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[wxzy_app]
# 共享描述
comment = app share
# 设置共享文件夹的路径
path = /home/app_smb
# 允许该指定共享目录可浏览
browseable = yes
# 设置是否允许匿名访问
public = no
# 允许访问共享目录的用户
valid users = @smb
# 读写控制共享目录的用户组
write list = app_admin
# 默认创建文件权限 rw_rw___
force create mode = 0660
# 默认创建目录权限 rwxrwxr__
force directory mode= 2770
# 设置强制设定新建文件所属用户
force user = app
# 设置强制设定新建文件所属用户组
force group = smb
# 该指定共享资源可使用
available = yes
unix charset = UTF-8
dos charset = cp936
[wxzy_app_admin]
# 共享描述
comment = app share admin
path = /samba/app_admin
browseable = yes
read only = no
force create mode = 0660
force directory mode = 2770
valid users = app_admin
二、创建samba用户和用户组
添加共享用户组:
groupadd -r smb
useradd -s /sbin/nologin -G smb app_smb
useradd -M -d /samba/app -s /sbin/nologin -G smb app
useradd -M -d /samba/app_admin -s sbin/nologin -G smb app_admin
-M 不创建用户的home目录
-d 手动设置用户目录
-s /usr/sbin/nologin – 禁止用户shell登录
-G admin将用户加入到app_admin用户组.
smbpasswd -a app
New SMB password:hengtian@201612
smbpasswd -a app_admin
New SMB password:admin
smbpasswd -e app
smbpasswd -e app_admin
三、创建samba共享目录以及文件夹权限设置
添加共享路径:
cd /
mkdir samba
cd samba
mkdir app
mkdir app_admin
chown -R app:smb app
chown -R app_admin:smb app_admin
chmod 770 /samba/app
chmod 770 /samba/app_admin
重启
sambda:systemctl restart smb
四、使用samba进行文件共享
方式1:文件夹挂载
1、安装cifs-utils软件包以支持samba的挂载(否则即使挂载没有报错也无法正常使用)
yum install cifs-utils
2、创建挂载点
mkdir /mnt/smbmount
3、进行条目挂载或把挂载条目写入/etc/fstab以使开机自动挂载
mount -t cifs -o username=app_admin //172.16.137.236/wxzy_app_admin /mnt/smbmount
-o username –访问共享文件夹时候的用户
//172.16.137.236/wxzy_app_admin – 共享文件夹的共享地址
/mnt/smbmount –本地挂载映射路径
如果需要开机自动挂载
Vim /etc/fstab
在最后一行添加
//172.16.137.236/wxzy_app_admin /mnt/smbmount cifs default,username=app_admin,password=123 0 0
方式2:使用samba-client
smbclient //172.16.137.236/wxzy_app -U app
五、关于samba的权限控制
samba的权限由两方面构成:一是目录本身的权限,二是samba的配置权限。最终权限定义是两者的最小交集。
在smb.conf中通过一下几个配置项配置sambe的权限
# 允许该指定共享目录可浏览
browseable = yes
# 设置是否允许匿名访问
public = no
# 允许访问共享目录的用户
valid users = @smb
# 读写控制共享目录的用户组
write list = app_admin
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144796.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...