使用linux+samba搭建公司文件共享服务器

公司需要配置一台备份服务器,用于日常各数据库、服务器、公司员工进行数据备份。各备份账号需要有一定的权限配置和限额配置的功能,网上查了一下资料,决定使用samba服务实现。下面就简单粗暴的记录一下,以便日后使用,详细的说明就不再列出了,有需要再自己百度吧。采购两块4T的硬盘,插上服务器,配置raid1,添加虚拟机,开工!

1、安装centos 7.4,最小化安装,具体步骤略。

2、添加共享专用卷,这里使用LVM卷,以方便日后的扩容调整

2.1、分区

2T以下可以用fdisk分区,注意创建后要调整为LVM分区,具体步骤略。

2T以上要用parted命令进行分区:
parted  /dev/sdb
mklabel gpt 
mkpart primary 0% 100% 
toggle 1 LVM
q

使分区生效:
partprobe

2.2、创建LVM卷

创建LVM卷:
pvcreate /dev/sdb1
vgcreate share /dev/sdb1
lvcreate -l 100%VG -n lvmShare share

格式化为xfs 然后挂载:
mkfs.xfs /dev/share/lvmShare
mount /dev/share/lvmShare /data

默认开机挂载,如需要磁盘配额,要加上usrquota,grpquota
vi /etc/fstab
/dev/share/lvmShare /data xfs defaults,usrquota,grpquota 1 1

2.3、如需调整LVM分区大小
先分区,创建后调整为LVM分区,再用下面的三个命令进行无损扩容:
vgextend lvextend  xfs_growfs

如果只是单纯的调整了磁盘分区大小,比如删除了一些分区或在虚拟机的环境中扩容了磁盘,那就用这几个命令,调整分区大小-调整PV大小-调整LV大小,这样也是无损扩容的:
parted pvresize lvresize xfs_growfs

3、安装和配置相关服务

3.1、安装samba

yum install samba -y

修改配置文件
/etc/samba/smb.conf

security = user
ntlm auth = yes
create mask = 666
directory mask = 777

如需在windows下使用机器名称访问就添加以下两行
netbios name = server-share
workgroup = workgroup

调整密码保存方式,以方便后面的用户修改密码
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd

保存后开启所需的防火墙端口
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp

要用机器名访问就要把这两个也开了
firewall-cmd --permanent --add-port=137/udp
firewall-cmd --permanent --add-port=138/udp

服务开机启动
systemctl enable smb

要用机器名访问就要把nmb也开了
systemctl enable nmb

3.2、安装webmin,以使用gui界面进行服务器配置

安装依赖包
yum install wget -y
yum install perl -y
yum install perl-Digest-MD5 -y

下载并安装
wget https://prdownloads.sourceforge.net/webadmin/webmin-1.890.tar.gz
tar -zvxf webmin-1.890.tar.gz
cd webmin-1.890
./setup.sh
firewall-cmd --permanent --add-port=10000/tcp

配置开机启动webmin
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
/etc/webmin/start

关闭selinux
 vi /etc/selinux/config
SELINUX=disabled

重启一下
reboot

3.3、使用webmin进行相关配置

1、服务器-samba中,把用户同步和组同步功能开启 ,这样创建用户时就不用两边创建了。

2、在系统 users and groups 创建用户和组,用户创建时shell选择nologin。

3、服务器 samba 创建目录时,权限要用777。

4、在共享目录的口令和访问控制下配置用户权限
组目录 组成员只读,指定人员可读写。重新验证 是,有效组 ,读写用户。
用户目录 指定用户可读写。可写入 是,重新验证 是,有效用户。

5、共享目录配置完后,需要改中文共享名,可以通过修改配置文件实现。

6、想隐藏掉没权限的目录,配置文件添加,让用户和组使用独立的配置文件,

在[global]下添加 

include = /etc/samba/%U.smb.conf
include = /etc/samba/%G.smb.conf

在根据用户的权限,在独立配置文件中的共享目录中,需要隐藏的目录添加配置
browseable = no
使用独立配置文件后,在winmin配置只会修改主配置文件,所以应该都配置好后,再来调整这个独立配置
用户和组的独立配置是会同时生效的,如果每个用户都要独立配置的话,就没必要组独立配置了。

7、Windows添加凭证,控制面板-用户账户-凭据管理,可以管理已经保存的凭据。

测试时,samba主页,查看所有的连接,断开
windows net use * /del /y

3.4、配置自助修改密码工具changepassword

1、安装依赖包

yum install gcc -y
yum install httpd -y

2、下载解压:

wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz
tar -zxvf changepassword-0.9.tar.gz
cd changepassword-0.9

2.编译changepassword前需要安装一个依赖包

cd smbencrypt/
tar -xzvf libdes-4.04b.tar.gz
cd des/
make
cp libdes.a ../
cd ../..

3、调整配置

修改conf.h头文件,设置软件修改密码使用的临时目录(默认是/tmp,但是怎么用都用不了,网上找资料说要修改一下)
将前三行的定义修改为自己创建的目录(这里将/tmp修改到了/var/smbchangepwd目录下)

char TMPFILE[]=”/var/smbchangepwd/changepassword-shadow-XXXXXX”;
char TMPSMBFILE[]=”/var/smbchangepwd/changepassword-smb-XXXXXX”;
char TMPSQUIDFILE[]=”/var/smbchangepwd/changepassword-squid-XXXXXX”;

创建目录(/var/smbchangepwd)并修改为777权限。

4、编译安装changepassword

这里注意logo文件要放在/var/www/html下,

./configure -enable-cgidir=/var/www/cgi-bin/samba -enable-language=Chinese -enable-smbpasswd=/etc/samba/smbpasswd -disable-squidpasswd -enable-logo=logo.jpg
make && make install

5、配置httpd

修改/etc/httpd/conf/httpd.conf

去掉注释
AddHandler cgi-script .cgi 

字符集调整为gbk
AddDefaultCharset GBK

systemctl enable httpd
systemctl restart httpd

firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld

6、添加跳转文件
新建文件/var/www/html/index.html
内容:
<head>
<meta http-equiv="refresh" content="0;url=/cgi-bin/samba/changepassword.cgi">
</head>

7、到这里配置就完成了,直接在浏览器中访问ip地址就能打开修改密码的页面了。

3.5、磁盘配额配置

安装包 yum install quota -y

在webmin-未使用的模块-Disk Quota下,就可以配置用户或组的Soft kilobyte limit和Hard kilobyte limit。这两个可以配置一样大,或者硬限额稍微比软限额配大一点。

建议在创建用户和组之前先在这里配置好新用户的默认配额,这样就不用再一个个用户来改了。

配置完成,以后只需要各台服务器做个映射驱动器,直接备份到共享服务器上,再定期用对共享服务器的共享硬盘做备份就OK了,收工!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值