Centos 搭建共享数据发布服务器
共享服务器策略简述:
- smb提供共享访问服务
- ftp提供数据上传修改服务
- 访问账号无法修改数据
1. 下载系统镜像
centos已经不更新了,我们下载目前最新版本7.9
下载地址:https://www.centos.org/download/
完整版:CentOS-7-x86_64-DVD-2009.iso
mini版:CentOS-7-x86_64-Minimal-2009.iso
本次制作完整版
2. 制作系统盘
使用UltraISO刻录系统盘
执行顺序:
- 打开镜像目录
- 【启动】中选择,写入硬盘镜像
- 在
便捷启动
中选择写入新的硬盘主引导记录
(由于只插了一个优盘,所以默认就是这个优盘,如果是多个优盘需要选择) 写入
- 写入完成,会提示
刻录成功!
,即系统盘制作完成
3. 制作系统
3.1 BIOS设置
在服务器插入优盘,重启
在BIOS选择U盘为第一启动项(或者选择启动项列表,不同厂家的服务器略有不同)
3.2 安装系统
进入优盘启动后,选择Install Centos 7
-
进入安装界面后,选择语言,这里选的是英文
-
INSTALLATION DESTINATION,选择安装位置
-
SOFTWARE SELECTION,选择需要模式及安装的软件(注意:由于笔者依赖ftp,此处需要勾选FTP Server)
-
安装,并设置ROOT密码。由于centos默认root可以登录,而ubuntu需要进入系统后设置
系统制作完成,目前还算比较顺利
3.3 重做系统
做完系统后,把机器搬到机房(笔者公司机房和外部工位分开,所以都是把机器在工位做好之后搬进机房),发现连接不上。
连上显示器,查看卡在鼠标键盘开在桌面不动了,并且能听到硬盘滋滋响。由于笔者公司比较节约成本,所以笔者会把一些旧机器用来做这种共享服务器。这些机器虽然较旧,但是都是研发淘汰的,cpu和内存比普通机器的还是要好很多的,但是硬盘长期大负荷读写,可能会有故障。
所以笔者重新换了个盘,重做系统,就可以正常连接了。
4 配置服务器
笔者鉴于前面的搬到机房后才发现问题,连不上的情况,在本地开机重启多试了几次,这次没发现无法连接的情况。
4.1 挂载硬盘
笔者的服务器一共装了3块硬盘,2块4T和1块2T的,系统做在2T的硬盘上
[root@dbc-db-server-2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 1.8T 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
└─centos-home 253:2 0 1.8T 0 lvm /home
sdb 8:16 0 3.7T 0 disk /mnt/sdb
sdc 8:16 0 3.7T 0 disk
开始挂载硬盘
- 先创建分区
fdisk -l #先看一下硬盘情况
fdisk /dev/sdb
d #由于是利旧,所以把原硬盘上的分区删除
n #一个分区就好了
<enter> #默认回车
<enter>
<enter>
笔者第一次没有删除旧分区,直接在原有基础上创建分区,导致搬到机房后,连不上,连上显示器后发现提示“welcome to emergency mode! ”,查了一下是/etc/fstab中的问题,因为笔者当时挂的是/dev/sdb1
- 格式化硬盘
mkfs.ext4 /dev/sdb
- 挂载硬盘
mkdir -p /mnt/sdb
mount /dev/sdb /mnt/sdb
mount -a
- 查看下
[root@dbc-db-server-2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 18M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 4.7G 46G 10% /
/dev/sdb 3.6T 89M 3.4T 1% /mnt/sdb #嗯,新挂载的
/dev/mapper/centos-home 1.8T 33M 1.8T 1% /home
/dev/sda1 1014M 186M 829M 19% /boot
tmpfs 1.6G 12K 1.6G 1% /run/user/42
tmpfs 1.6G 0 1.6G 0% /run/user/0
- 写到配置文件
[root@dbc-db-server-2 ~]# cat /etc/fstab
...
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb /mnt/sdb ext4 defaults 0 0
当笔者挂载sdc的时候,出现了"cannot open /dev/sdc: Input/output error"
用fsck,xfs_repair都修复不了
好吧,这块硬盘也不行了
那就先挂一块数据盘吧,等无法满足需求再增加硬盘
4.2 配置账号
由于账号比较少,笔者简单写了两个配置文件
一个是账号文件,一个是密码文件
[root@dbc-db-server-2 ~]# cat /home/yurq/users.txt
Developer
Integrator
Partaker
Innovator
Increment
Incremental
[root@dbc-db-server-2 ~]# cat /home/yurq/passwrod.txt
Developer:xxx
Integrator:xxx
Partaker:xxx
Innovator:xxx
Increment:xxx
Incremental:xxx
由于是在windows机器写的,所以拷贝到centos机器,需要转下码
在vim中
:set ff=unix
添加账号脚本
[root@dbc-db-server-2 ~]# cat /home/yurq/creat.sh
#!/bin/bash
for i in `cat users.txt`;do
`/usr/sbin/useradd -M -s /bin/nologin $i`
done
[root@dbc-db-server-2 ~]# passwd < passwrod.txt
4.3 配置samba
查看服务,没有开启,开启并设置开机自启
systemctl start smb
systemctl enable smb
修改配置文件smb.conf
mkdir /mnt/sdb/I3
cat /etc/samba/smb.conf
...
[I3]
comment="Project I3"
path=/mnt/sdb/I3
browseable=yes
writable=yes
admin users=root,mng_I3
valid users=root,Integrator,Developer,Partaker,Innovator,upload_I3
invalid users=RcTool,Increment,Incremental
write list=root
public=no
available=yes
create mask = 0777
directory mask = 0777
添加smb访问账号
smbpasswd -a Integrator
访问之后发现家目录也同时显示了,屏蔽家目录显示
[root@dbc-db-server-2 ~]# cat /etc/samba/smb.conf
...
#[homes]
#comment = Home Directories
#valid users = %S, %D%w%S
#browseable = No
#read only = No
#inherit acls = Yes
...
可以正常访问了
4.4 配置ftp
1. 安装ftp
参考https://blog.csdn.net/u010230019/article/details/129405649
当要配置ftp的时候,才发现没有安装vsftpd,笔者在安装系统的时候,忘记选ftp了…
对,没有选,笔者得想办法安装这个软件了。
笔者的服务器默认没有外网,不过还有这个服务器双网卡,笔者在另外一个网口连了个外网
配置好IP后,试试外网
[root@dbc-db-server-2 ~]# ping 121.167.147.180
PING 121.167.147.180 (121.167.147.180) 56(84) bytes of data.
ping不通,ping下网关,好使的,应该是默认路由的问题
添加条默认路由
route add default gw 192.168.81.1
systemctl restart network
好了,笔者在工位连不上服务器了
幸好,笔者有一台服务器和这个外网是一个网络
安装mobaXterm,连接服务器
安装并启动vsftpd
[root@dbc-db-server-2 ~]# yum install -y vsftpd
[root@dbc-db-server-2 ~]# systemctl start vsftpd
[root@dbc-db-server-2 ~]# systemctl enable vsftpd
安装完成
好的,这条路由的历史使命已经完成了,把默认路由恢复原状(或者直接把网线拔了)
route add default gw 192.168.2.1
systemctl restart network
2. 配置ftp
- 新增两个账号:
mng_i3具备增删改上传权限(管理员)
upload_i3只具备上传权限(即对文件无法修改) - 新增组
groupadd i3
- 新增两个用户
useradd -s /sbin/nologin -d /mnt/sdb -g i3 mng_i3
useradd -s /sbin/nologin -d /mnt/sdb -g i3 upload_i3
- 修改目录权限
chmod 775 /mnt/sdb/I3/
[root@dbc-db-server-2 vsftpd]# ll /mnt/sdb/I3/ -d
drwxrwxr-x. 5 mng_i3 i3 4096 Apr 26 2023 /mnt/sdb/I3/
- 修改配置文件vsftpd.conf
[root@dbc-db-server-2 vsftpd]# grep -v "^#" vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=no ### YES会冲突,启用目录文件: chroot_list_file=/etc/vsftpd/chroot_list
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
user_config_dir=/etc/vsftpd/vsftpd_user_conf
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误的解决办法
allow_writeable_chroot=YES
- 修改配置文件vsftpd.chroot_list
[root@dbc-db-server-2 vsftpd]# cat vsftpd.chroot_list #添加账号
upload_i3
mng_i3
- 修改配置目录vsftpd_user_conf
[root@dbc-db-server-2 vsftpd]# ll /etc/vsftpd/vsftpd_user_conf
total 8
-rw-r--r-- 1 root root 40 Apr 26 03:15 mng_i3
-rw-r--r-- 1 root root 49 Apr 26 03:22 upload_i3
[root@dbc-db-server-2 vsftpd]# cat /etc/vsftpd/vsftpd_user_conf/mng_i3
write_enable=YES
[root@dbc-db-server-2 vsftpd]# cat /etc/vsftpd/vsftpd_user_conf/upload_i3
cmds_denied=DELE,RMD,RNFR,RNTO
write_enable=YES
5. 验证
我们在windows服务器安装filezilla
5.1 验证ftp
使用ftp账号upload_i3上传数据
5.2 验证samba
使用访问账号Integrator创建文件夹,发现没有权限,到达目的了
有问题欢迎沟通