在linux服务器上部署项目、运行服务一般到底用不用root账
在Linux服务器上部署项目和运行服务时,是否应该使用root帐户存在争议。最佳实践是为每项服务设置单独的用户帐户。
通过这样做,您可以避免向黑客授予root权限并确保安全。
一项服务对应一个用户,可以实现权限隔离。
如果服务被攻破,黑客只能充当该用户,而无法触及服务器的其他部分,从而保护系统安全。
另外,针对不同的用户,可以根据需要设置更严格的权限,例如限制访问目录、运行权限等。
为每个服务设置独立的用户帐户,不仅可以保证服务的安全运行,还可以防止权限滥用。
这样,即使服务存在安全漏洞,黑客也只能控制部分权限,不会对整个系统造成威胁。
因此,为每个服务使用单独的用户帐户是Linux服务器管理的最佳实践。
Ubuntu/Debian系统中Linux服务器的初步配置流程
本文记录了配置Linux服务器的初步过程,这是系统安装完成后的下一步。
以上就是我的总结,如有遗漏,欢迎大家补充。
以下操作针对Debian/Ubuntu系统,其他Linux系统类似,只是部分命令略有不同。
第一步:root用户登录
首先以root用户登录远程主机(假设IP地址为128.199.209.242)。
此时命令行会出现警告,表明这是一个新地址,存在安全风险。
输入yes接受。
然后,您应该能够成功登录到远程主机。
接下来,更改root用户的密码。
passwd
第二步:创建新用户
首先添加用户组(这里假设为admin用户组)。
addgroupadmin
接下来,添加一个新用户(假设是bill)。
useradd-d/home/bill-s/bin/bash-mbill
上述命令中,d参数指定用户的主目录,s参数指定用户的shell,m表示如果该目录不存在,则创建该目录。
接下来,输入新用户的密码。
passwdbil
将新用户(bill)添加到用户组(admin)中。
usermod-a-Gadminbill
接下来,为新用户设置sudo权限。
visudo
visudo命令将打开sudo设置文件/etc/sudoers并找到以下行。
rootALL=(ALL:ALL)ALL
在此行下方,添加另一行。
rootALL=(ALL:ALL)ALLbillALL=(ALL)NOPASSWD:ALL
上面的NOPASSWD表示切换sudo时,不再需要输入密码我喜欢这样比较,省事。
出于安全原因,也可以实施密码。
rootALL=(ALL:ALL)ALLbillALL=(ALL:ALL)ALL
接下来,先以root用户注销,然后以新用户登录,查看A到这一步一切正常吗?
第3步:SSH设置
首先,确保设备有SSH公钥(通常是文件~/.ssh/id_rsa.pub),如果没有,使用ssh-keygen命令生成一个(参考我写的SSH教程)。
在本地机器上打开另一个shell窗口,将本地公钥复制到服务器的授权密钥文件中。
cat~/.ssh/id_rsa.pub|[email protected]'mkdir-p.sshcat-~/.ssh/authorized_keys'#或者在服务器端,运行运行以下命令echo"ssh-rsa[yourpublickey]"~/.ssh/authorized_keys
接下来进入服务器并编辑文件SSH配置/etc/ssh/sshd_config.conf
sudocp/etc/ssh/sshd_config~sudonano/etc/ssh/sshd_config
在配置文件中,更改默认的SSH端口22,可以从1025改为65536任意之间的整数(这里假设为25000)。
Port25000
接下来,检查某些设置是否设置如下,确保删除前导#号。
Protocol2PermitRootLoginnoPermitEmptyPasswordsnoPasswordAuthenticationnoRSAAuthenticationyesPubkeyAuthenticationyesAuthorizedKeysFile.ssh/authorized_keysUseDNSno
上面的计算主要是禁止用户登录和密码。
然后,在配置文件的末尾指定允许登录的用户。
AllowUsersbill
保存后,退出编辑文件。
接下来,更改授权密钥文件的权限。
sudochmod600~/.ssh/authorized_keyschmod700~/.ssh/
接下来,重新启动SSHD。
sudoservicesshrestart#或sudo/etc/init.d/sshrestart
以下步骤是可选的。
在本地计算机的~/.ssh文件夹中创建一个包含以下的配置文件。
Hosts1HostName128.199.209.242UserbillPort25000
最后在本机上再打开一个shell窗口,测试SSH是否可以登录成功。
sshs1
第4步:运行环境设置
首先,检查服务器的区域设置。
locale
如果结果不是en_US.UTF-8,建议设置为en_US.UTF-8。
sudolocale-genen_USen_US.UTF-8en_CA.UTF-8sudodpkg-reconfigurelocales
接下来,更新软件。
sudoapt-getupdatesudoapt-getupgrade
最后根据需要进行一些安全设置,比如配置防火墙并阻止来自HTTP、HTTP和SSH的其他端口。
这里就不一一介绍了,希望能对您有所帮助,请持续关注ScriptHouse,我们会努力分享更多精彩文章。
如何在Linux上部署潜渊症服务器LINUX环境部署全流程
在Linux环境下部署潜在服务器的完整流程如下:首先,如果您对“不仅仅是游戏”感兴趣并考虑搭建服务器,请确保您拥有服务器云,例如阿里云、腾讯云或华为云,他们提供安全且可扩展的服务。推荐阿里云官网(aliyun.com)、华为云(huaweicloud.com)、腾讯云(tencent.com)。
选择服务器时建议新手选择阿里云的Esc计算c5,配置4核8G,系统是Centos7.9。
购买时可以通过“云服务器精选”等折扣来降低成本。
根据玩家数量,选择合适的带宽。
2核4G适合6人以下,4核8G适合6人以上。
选择服务器区域时,请考虑玩家的位置以减少延迟。
购买后,登录阿里云控制台对服务器进行配置,包括安装监控插件、重置ROOT账号密码、开放服务器端口22、27015、27016。
为了重现该教程,您可以创建一个廉价的服务器并运行它。
连接服务器时,建议使用FinalShellSSH工具。
它具有可视化界面,可以轻松管理文件和监控服务器状态。
下载地址为:hostbuf.com。
接下来,部署LinuxGSM,一个快速部署和管理游戏服务器的工具。
需要安装一些依赖软件,如curl、wget等,然后创建非ROOT用户进行进一步操作。
通过LinuxGSM命令行安装LatentSyndrome游戏服务器。
配置阶段,首先启动服务器生成配置文件,然后了解并修改serversettings.xml(包括服务器名称、密码、游戏风格等)、clientpermissions.xml(玩家权限设置)等关键配置文件config_player.xml(MOD和字幕设置)。
您可以将配置文件从PC复制到服务器。
游戏更新时,是通过LinuxGSM命令行完成的。
要获得更精确的服务器设置,请浏览serversettings.xml文件并调整游戏难度、任务类型、允许的角色和其他设置以满足您的需求。
最后,如果您想要更个性化的配置,本文对serversettings.xml配置文件的详细解读将指导您如何根据您的喜好调整各种设置。
Linux下如何部署FTP服务器
FTP是一种文件传输协议,用于在服务器和客户端之间传输文件。vsftpd是Linux上流行的FTP服务器,安全、快速、稳定。
在使用vsftpd之前,请注意服务器使用两个端口,默认控制端口为21用于命令传输,数据端口默认为20用于数据传输。
客户端将端口信息发送给FTP服务器,服务器要么主动连接该端口,要么被动等待客户端连接。
配置FTP服务器时,建议使用被动模式,以避免防火墙、公网IP等问题造成的连接困难。
端口可以根据需要修改,但默认端口安全性较低,实际安装时必须修改。
用户认证方式包括匿名用户、本地Linux帐号用户以及只能访问FTP服务的虚拟用户,以增强安全性。
匿名用户模式仅适用于公共文件下载。
在安装vsftpd之前,可以使用命令检查是否安装,安装后执行vsftpd-v确认版本信息。
配置服务器时,vsftpd.conf文件中的每个选项的格式为option=value,注释以#开头。
服务器启动后,配置选项将覆盖默认值。
vsftpd支持多种配置项,分为访问权限、保护访问目录、限制用户登录、修改端口、日志配置等配置,实际配置时只需添加所有的配置项即可。
组到vsftpd。
会议。
将登录的用户锁定到特定目录,以避免访问不适当的资源。
建议将锁定目录设置到空间较大的磁盘。
在防火墙配置中,开放服务器的监听端口和数据端口,以保证FTP服务的正常运行。
在启动服务器之前,您需要完成防火墙设置、配置vsftpd.conf文件并设置启动设置。
创建新的FTP用户时,设置密码、创建目录、修改目录权限并将用户添加到允许登录列表。
在测试FTP服务器时,通过上传和下载文件来验证服务的功能,确保服务器正常工作。
完成所有步骤后,运行测试以确保FTP服务正常工作。
本文详细介绍了Linux下vsftpd的安装、配置和测试过程,包括注意事项和常用配置项。
更多配置细节请参考官方文档。
详解Linux系统下PXE服务器的部署过程
大规模安装服务器时,需要采用大规模自动化安装服务器的方法来减少日常工作量。
然而,自动批量服务器安装的基础是网络引导服务器(BootServer)。
网络启动服务器及配置方法供大家实用!1、本文所用术语解释PXEPXE(Pre-bootExecutionEnvironment)是Intel设计的一种协议,它允许计算机通过网络而不是本地硬盘、光驱等设备启动。
现代网卡一般都嵌入了支持PXE的ROM芯片。
当计算机启动时,BIOS将PXEclient加载到内存中执行,并在用户选择命令后显示命令列表PXEclient下载远程端的操作系统,通过网络在本地运行该协议集中使用,可供用户使用客户端动态分配IP地址TFTPTFTP(简单文件传输协议)是一种低开销的文件传输协议,其语法与ftp类似,因为它简单而高效,常用于操作系统更新和网络设备的配置。
2.1.PXEClientApi(架构)
PXEAPI架构图。
(图片来源:PXESpecificationVersion2.1)上图显示:当BIOS将PXEClient加载到内存中时,它现在具有DHPCClient和TFTPClient功能。
PXEClient具有DHCPClient能力,可以通过DHCPServer获取IP地址。
PXEClient具有“TFTPClient能力”,可以通过TFTP下载内核镜像等文件。
2.2.PXE启动流程图(pxeboot)
上图中的启动流程如下:PXEClient向UDP67端口广播DH。
CPDDISCOVER消息。
DHCPSERVER或DHCProxy收到广播消息后,向PXEClient的68端口发送DHCPOFFER消息(包含IP地址),并向DHCPSERVER发送DHCPREQUEST消息,由DHCPSERVER获取启动文件(文件名)。
DHCPSERVER向PXEClient发送DHCPACK消息(包含NetworkBootstrapProgram文件名)。
PXEClient从BootServer获取NBP(NetworkBootstrapProgram)文件,PXEClient从TFTPSERVER下载NBP,然后在客户端执行NBP文件。
注意:初始化NBP后,NBP会按照默认的方式从TFTPSER下载其他需要的配置文件到VER中。
此时,PXE启动过程就完成了,剩下的工作就由NBP来完成。
例如:pxelinux.0(NBP)将下载默认配置文件来显示菜单,根据需要启动不同的kererimage。
如果RIS(WindowInstallation)是NBP,则将启动Windows引导加载程序来执行Windows任务的安装和部署。
3.PXEBOOTServer配置流程以下在Centos5上的配置和测试已经完成,请酌情参考其他系统!3.1.DHCP安装与配置在PXE启动过程中,PXEClient通过DHCPServer获取NBP文件的IP地址和名称,然后从TFTPSERVER下载NBP文件并在客户端执行以启动计算机。
请确保您的系统已安装DHCP软件。
编辑配置文件/etc/dhcpd.conf,配置文件如下
0netmask255.255.255.0{范围192.168.0.128192.168.0.220;选项路由器192.168.0.1;选项广播地址192.168。
0.255;}注意:配置文件/etc/dhcpd.conf中的文件名为“pxelinux.0”;该文件目录链接到tftp的根目录(默认为/tftpboot),因此该文件的绝对路径为:“/tftpboot/pxelinux.0”;当然也可以指定为其他路径。
配置完后完成后,重新启动DHCP服务并设置为开机自动启动复制代码如下:[root@linux]#/etc/init.d/dhcpdstartdhcpd:[OK][root@linux]#chkconfig--level35dhcpdon3.2安装并配置TFTP服务器在PXE启动过程中,PXEClient使用TFTP协议从TFTP服务器上下载启动文件并执行erver软件软件包配置tftp服务使用xinetd服务管理tftp服务编辑文件/etc/xinetd.d/tftp并将Disable=yes更改为:Disable=no:复制代码如下:[root@linux]#cat/etc/xinetd.d/tftp#default:off#description:Thetftpserversusingthetrivialfiletransfer\#protocol..Thetftpprotocolisoftenusedtobootdiskless\#workstations,downloadconfigurationfilestonenetwork-awareprinters,\#启动某些操作系统的安装过程。
#default:off#说明:tftp服务器使用简单的文件传输\#协议来提供文件。
tftp协议通常用于启动无盘\#工作站,将配置文件下载到网络感知打印ers,\#andtostarttheinstallationprocessforsomeoperatingsystems.servicetftp{socket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/in.tftpdserver_args=-s/tftpbootdisable=noper_source=11cps=1002flags=IPv4}注意:TFTP服务器的根目录是/tftpboot。
配置完成后,重启xinetd服务,TFTP服务器即可生效。
#/etc/init.d/xinetdrestartbootstrap配置文件(NBP),这里使用pxelinux.0bootstrap文件该软件由syslinux软件包提供。
我们只需安装syslinux,并将pxelinux.0文件复制到/tftpboot目录即可:复制代码如下:[root@linux]#rpm-qlsyslinux|grep"pxelinux.0"/usr/lib/syslinux/pxelinux.0[root@linux]#cp/usr/lib/syslinux/pxelinux.0/tftpboot/创建配置文件pxelinux.0(NBP)使用的接下来创建目录/tftpboot/pxelinux.cfg/,用于存放客户端的配置文件,复制代码如下:[root@linux]#mkdir/tftpboot/pxelinux.cfg默认配置文件为文件如下,复制代码如下:[root@linux]#cat/tftpboot/pxelinux.cfg/defaultdefaultlinux#默认启动是“labelinux”提示符中突出显示的启动内核1#显示“boot:”提示符timeout60#等待超时,单位是1/10秒,超时后启动时自动分配默认标签displayboot.msg#显示boot.msg及文件路径路径与根目录关联tftpserver(默认/tftpboot),所以boot.msg文件的绝对路径在/tftpboot/boot.msg.F1boot.msg#显示文件F2options.msgF3general.msgF4param.msgF5rescue按“F1”键后,选择"msglabel1#""label"您在“boot:”提示符下输入的关键字。
kernellinux/rh44-x86-32/vmlinuzappendinitrd=linux/rh44-x86-32/initrd.imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevice=linklabel2kernellinux/rh44-x86-64/vmlinuzappendinitrd=为我nux/rh44-x86-64/initrd.imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevice=linklabel3kernellinux/rh46-x86-64/vmlinuzappendinitrd=linux/rh46-x86-64/initrd。
imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevice=linklabel4kernellinux/rh46-x86-32/vmlinuzappendinitrd=linux/rh46-x86-32/initrd.imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevIce=linklabel5kernelimage/linux/rh38-x86-32/vmlinuzappendinitrd=image/linux/rh38-x86-32/initrd.imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevice=linklabel6kernellinux/rh38-x86-64/vmlinuzappendinitrd=linux/rh38-x86-64/initrd.imgramdisk_size=8192ks=https://install.test.com/conf/ks_module.cfgksdevice=link注意:默认情况下,pxelinux.0和pxelinux.cfg应位于软件配置文件3.3.pxelinx.0(NBP)的相同目录搜索顺序到期拥有多个客户端客户端可以从PXE服务器引导。
PXE启动映像使用复杂的配置文件查找方法来查找客户端的配置文件。
假设客户端服务器网卡的MAC地址为88:99:AA:BB:CC:DD,对应的IP地址为192.168.1.195,则客户端的pxelinux.0程序的搜索顺序如下:首先使用MAC地址作为与文件名匹配的Configuration,如果不存在则继续查找IP地址进行查找。
根据配置文件搜索IP地址以十六进制命名,从小到大搜索范围都是从小到大(子网掩码从小到大)。
如果不存在,请继续寻找。
最后,尝试使用默认文件。
一般来说,pxelinux.0搜索文件的顺序是(可以通过tcpdum得到结果):复制代码如下:/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd/tftpboot/pxelinux.cfg/C0A801C3/tftpboot/pxelinux.cfg/C0A801C/tftpboot/pxelinux.cfg/C0A801/tftpboot/pxelinux.cfg/C0A80/tftpboot/pxelinux.cfg/C0A8/tftpboot/pxelinux.cfg/C0A/tftpboot/pxelinux.cfg/C0/tftpboot/pxelinux.cfg/C/tftpboot/pxelinux.cfg/default4.Summary