1.创建用户
groupadd groupname
adduser -g groupname username
echo abc/123 | passwd --stdin username
2.创建共享目录
mkdir -p /companydata/share /companydata/sales /companydata/tech
chown redking:sales /companydata/sales
chown michael:tech /companydata/tech
chmod -R 775 /companydata
3.安装samba服务器
yum install samba
yum install samba-client
4.配置samba服务
vim /etc/samba/smb.conf
#============================
[global]
#工作组名称
workgroup = WORKGROUP
#服务器信息
server string = Welcome to visit our company directory!
#验证方式
security = user
#用户验证信息保存方式
pssdb backend = tdbsam
#==============================
#共享目录share的配置信息
[share]
#共享目录说明
comment = The share for all employee.
#共享目录的绝对路径
path = /companydata/share
#共享目录是否允许匿名访问
public = yes
#是否只读
readonly = yes
#共享目录sales的配置信息
[sales]
comment = The share for sales.
path = /companydata/sales
public = no
#是否能够写入
writable = yes
#允许访问该目录的用户(组)
valid users = @sales @gm
#拒绝访问该目录的用户(组)
invalid users = @tech
#共享目录tech的配置信息
[tech]
comment = The share for sales.
path = /companydata/tech
public = no
writable = yes
valid users = @tech @gm
invalid users = @sales
5.为samba添加用户
(echo abc/123;echo abc/123) | smbpasswd -s -a username
6.关闭防火墙
iptables -F
service iptables save
7.重启samba服务
/etc/init.d/smb restart
8.测试 共享
smbclient -L localhost -U username
smbclient //localhost/sharedir -U username
9.问题:
共享目录sales和tech下用户新建的文件,其他用户只默认只具有读取的权限,但是不能修改和删除,那么,如何使部门经理和GM组具有删除文件的权限?是否需要启用acl权限???
#==========实验了acl权限配合SAMBA,能够实现上面需求,实现步骤如下。
#开启磁盘acl功能
mount -o remount,acl /
#为用户组(总经理)gm添加acl权限rwx,注意执行权限,无执行权限时连接samba服务器会提示tree connect failed host deny错误
setfacl -R -m g:gm:rwx /companydata/
#为用户(部门经理)添加acl权限rwx
setfacl -R -m u:redking:rwx /companydata/sales
#重启samba服务
/etc/init.d/smb restart