百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

CentOS 创建新用户并赋予 root 权限,禁止 root 登陆

itomcoil 2025-04-10 23:47 48 浏览

原文:https://lwebapp.com/zh/post/centos-adduser

需求

最近遇到了阿里云 ECS 服务器被 DDoS 攻击的问题,说明我们的服务器安全性有待提高。从 ssh 登陆方面考虑,可以给 linux 系统设置子用户,禁止 root 登陆,能够提升一定的安全性。

本文你将会学习到

  • 如何给 linux 系统、CentOS 系统创建新用户,并设置密码
  • 如何给 CentOS 新用户授予权限控制
  • 如何禁止 root 登陆提升服务器 ssh 远程连接安全
  • 如何重启 sshd 服务
  • 如何查看文件权限及修改文件权限

用户管理

  1. 创建用户,设置密码 先创建一个用户,起个名字,比如 lwebapp adduser lwebapp
    为用户 lwebapp 设置密码,会触发交互,输入密码即可 passwd lwebapp # 触发交互,输入密码 lwebappwd
  2. 授予 root 权限 修改sudoers,为新创建的用户赋予 root 权限,这样每次只需要用新用户lwebapp登录,就能完成所有服务器操作了。 sudoers文件在/etc目录下,首先修改下这个文件的权限为允许修改 chmod 777 /etc/sudoers
    然后用vim打开 敲击i进入编辑模式 vim /etc/sudoers
    接着在root ALL=(ALL) ALL这句话后面换行,输入 lwebapp ALL=(ALL) ALL # 为lwebapp赋予所有权限,和上面的root一样
    敲击Esc,输入冒号:进入 vim 命令模式,再输入wq,敲击Enter保存退出 保存完文件再把文件权限设置回来 chmod 444 /etc/sudoers
  3. 禁止 root 登入 因为有了新用户,就把 root 用户登陆的权限给禁止掉,这样黑客就没办法通过破解 root 登陆才操作服务器,至少我们的新用户名变了,给黑客攻击增加了一层难度 找到并编辑sshd_config文件 vim /etc/ssh/sshd_config
    找到PermitRootLogin yes,把yes改成no,意思就是不允许 root 账户登陆 PermitRootLogin no
  4. 重启 sshd 最后重启 sshd 才能生效 systemctl restart sshd.service

原文:https://lwebapp.com/zh/post/centos-adduser

扩展学习

文件权限

  1. 查看文件权限 stat -c '%A %a %n' *
  2. 让某个文件夹内所有文件都有 777 权限 chmod 777 -R ./webapps

vim 基本操作

  1. 打开一个文件 vim file.txt
  2. 进入编辑模式
    敲击
    i,终端界面底部显示-- INSERT --即为编辑模式
  3. 进入命令模式
    输入
    :,终端界面底部显示:和光标
  4. 退出编辑模式或者命令模式
    敲击
    Esc
  5. 保存退出
    命令模式下,输入
    wq,敲击确定Enter即完成保存退出
  6. 强制退出
    命令模式下,输入
    q!,敲击确定Enter即完成强制退出

sshd 服务

  1. 查看 sshd 服务状态 systemctl status sshd.service
    会显示一系列服务状态,比如running就表示是启动成功的状态
  2. 启动 sshd 服务 systemctl start sshd.service
  3. 重启 sshd 服务 systemctl restart sshd.service
  4. 设置为开机启动 systemctl enable sshd.service

参考

  • centos 创建新用户赋予 root 权限并禁止 root 登陆
  • centos7.5 创建新账号赋 root 权限
  • centos7 下重启 sshd 服务的操作方法

相关推荐

MySQL中的MVCC到底能不能解决幻读

在MySQL当中,只有使用了InnoDB存储引擎的数据库表才支持事务。有了事务就可以用来保证数据的完整以及一致性,保证成批的SQL语句要么全部执行,要么全部不执行。事务用来管理insert、updat...

每次写SQL时总忘记语法顺序怎么办,这里一招教你解决

MySQL基础(五)-----表达式&函数和分组查询表达式和函数:表达式就是将数字和运算符连接起来的组合,称之为表达式,比如:1+1;函数就是系统自带已经定义好可以直接使用的函数,例如MAX,MIN;...

在 MySQL 中使用 UUID 作为主键的存在问题及如何优化?

在分布式架构中,UUID(通用唯一标识符)因其能够确保全球唯一性而广泛应用。它不依赖于数据库的自增机制,特别适合于多个系统间的数据同步。然而,尽管UUID提供了很多优势,直接使用它作为MySQL...

SQL入门知识篇_sql入门教程

一、什么是数据库?什么是SQL?1、数据库:存放数据,可以很多人一起使用2、关系数据库:多张表+各表之间的关系3、一张表需要包含列、列名、行4、主键:一列(或一组列),其值能够唯一区分表中的每个行。5...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础2.索引类型2.1哈希索引2.2有序数组2.3B+树索引(InnoDB)3.联合索引4.最左前缀原则5.覆盖索引6.索引下推总结:1.索引基础索引对查询的速度有着至...

Mysql索引覆盖_mysql索引ref

作者:京东零售孙涛1.什么是覆盖索引通常情况下,我们创建索引的时候只关注where条件,不过这只是索引优化的一个方向。优秀的索引设计应该纵观整个查询,而不仅仅是where条件部分,还应该关注查询所包...

MySQL常用语句汇总_mysql常用语句大全

一、背景日常测试开发工作中会用到各类SQL语句,很多时候都是想用的时候才发现语句细节记不清楚了,临时网上搜索SQL语法,挺费时费力的,语法还不一定是对的。因此汇总整理了一下MySQL最常用的各类语句,...

POI批量生成Word文档表格_poi批量导入excel

  前言  当我们在写设计文档,或者是其他涉及到数据架构、表结构时,可以用POI来批量生成表格,例如下面的表格  代码编写  引入POI依赖<!--引入apachepoi-...

cmd命令操作Mysql数据库,命令行操作Mysql

Mysql数据库是比较流行的数据库之一,维基百科的介绍如下:MySQLisanopen-sourcerelationaldatabasemanagementsystem(RDBMS)....

MySQL大数据表处理策略,原来一直都用错了……

场景当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题。数据的插入,查询时长较长后续业务需求的扩展,在表中新增字段,影响较大表中的数据并不是所有的都为有效数...

SQL点滴(查询篇):数据库基础查询案例实战

本文主要是对微头条SQL小技能的汇总,便于收藏查阅,为数据库初学者提供多快好省又可实际操作的帮助。下面为正文。1.通用*查询在从数据库表中检索所有行与列,若要查询所有数据,通常做法为:select*...

Mysql学习笔记-InnoDB深度解析_mysql innodb底层原理

前言我们在上一篇博客聊了Mysql的整体架构分布,连接层、核心层、存储引擎层和文件系统层,其中存储引擎层作为MysqlServer中最重要的一部分,为我们sql交互提供了数据基础支持。存储引擎和文件...

「MySQL调优」大厂MySQL性能优化实战讲解

WhyPerformance在1990s,人们还使用拨号接入互联网的时候,浏览一个网页或加入一个线上聊天室需要几分钟的时间去加载是一件很正常的事情。而2009年Akamai公司的报告显示,如果一个网...

MySQL数据库性能优化_mysql数据库优化及sql调优

任何软件平台的运行都需要依赖于数据库的存储,数据库存储着业务系统的关键信息,包含基础的组织、人员及业务流程板块信息等。因此在平台运转过程中,数据库的响应速率直接影响平台的回显速度及用户的友好体验。尽管...

面试中的老大难-mysql事务和锁,一次性讲清楚

什么是事务在维基百科中,对事务的定义是:事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的四大特性事务包含四大特性,即原子性(Atomicity)、一致性...