用Centos7搭建小微企业Samba文件共享服务器-文件服务器

最近研究了一下Linux用户权限和Samba文件共享,为了便于学习,通过一个实例来实现文件共享功能。

假设一个场景,某小微企业共有6人,其中4人为普通员工(user1-user4),2人为管理员(manager1,manager2)。为了便于工作,建立一个基于Centos7 的文件共享服务器,服务器上进行文件存储、交换和发布。具体要求为:

1、 每个用户(user、manager)都有自己独立的文件夹,只能自己访问,其他人不能访问;

2、 建立一个交互文件夹,用于文件交互,每个人都可以上传、下载、删除;

3、 建立一个文件发布文件夹,用户文档发布,所有人都能访问、下载,但只有manager用户只能上传。

用Centos7搭建小微企业Samba文件共享服务器

Smba需求设计

具体实现方法为:

1、 安装samba

# yum -y install samba

2、 在服务器上创建相应的目录

#mkdir smb 将所有文件放在/home/smb/下

#cd smb/

#mkdir sharedocs publish user1 user2 user3 user4 manager1 manager2

3、 添加用户组

我们将普通员工放在Group_user组里,管理员放在Group_manager组里

# groupadd Group_manager

# groupadd Group_user

4、 添加用户

adduser -g Group_user -d /home/smb/user1 -s /sbin/nologin user1

注:-g 添加用户的所属组

–G 指定一个或多个扩展用户组

-d 指定家目录位置

-s 所用的SHELL,/sbin/nologin是特殊的SHELL,表示该用户不能用于登陆系统

以上实现添加用户user1到组Group_user里,并且禁止登陆系统,以此类推添加其他用户

5、 添加samba用户,并设置密码

# smbpasswd -a user1

New SMB password:在这里添加user1的密码

Retype new SMB password:重复秘密

以此类推添加其他用户密码

6、 配置相关目录的权限和归属

#chmod -R 777 /home/smb/sharedocs

#chmod -R 777 /home/smb/publish

查看权限

#ls -ald !$ 注意!$表示上一条命令中最后一个参数

ls -ald /home/smb/sharedocs

drwxrwxrwx. 2 root root 6 6月 27 12:39 /home/smb/sharedocs

7、 配置smb.conf

vim /etc/samba/smb.conf 在smb.conf中添加以下内容

[sharedocs]

comment=Sharedocs

path=/home/smb/sharedocs

readonly=yes

write list = @Group_user,@Group_manager

create mask = 0775

directory mask = 0775

[publish]

comment=Publish

path=/home/smb/publish

readonly=yes

write list =@Group_manager

create mask = 0775

directory mask = 0775

8、 关闭selinux和防火墙

# setenforce 0 临时关闭selinux

#systemctl stop firewalld.service 停止防火墙

#systemctl disable firewalld.service禁用防火墙

9、 Windows下登陆

用Centos7搭建小微企业Samba文件共享服务器

登陆

如图,登陆samba服务器地址,然后输入用户名和密码,即可登陆。

用Centos7搭建小微企业Samba文件共享服务器

登陆成功

另,测试中一旦用Windows登陆Samba,下次在登陆时仍保持上一次的用户名,可使用

net use * /del /y 清除Samba登陆信息

推荐阅读