如何在 Debian VPS 上添加、删除和授予用户 sudo 权限
简介
当你启动一个新的服务器时,会创建一个名为 root 的默认账户。这个用户拥有完全的系统访问权限,应该仅用于管理任务。作为 root 用户,你基本上可以对系统做任何操作,这很强大,但也极其危险。Linux 没有“撤销”按钮。
为了减轻这种风险,我们可以创建一个新用户,该用户权限较低,更适合日常任务。当你需要管理员用户的权限时,可以通过一个名为 sudo 的命令来临时提升单个命令的权限。
本指南将介绍如何在 Debian 系统上创建新用户。我们还将介绍如何允许用户访问 sudo 命令以获取管理员权限,以及如何删除不再需要的用户。
登录服务器
要完成本指南中的步骤,你需要以 root 用户身份登录到你的 Debian 服务器。
如果你创建了一个实例服务器但没有选择嵌入的 SSH 密钥进行身份验证,通常会收到一封包含 root 用户密码的电子邮件。你可以使用这些信息在终端中以 root 用户身份登录到服务器,方法如下:
[本地环境]
ssh root@your_server_ip_address
输入你收到的密码(在你输入密码时屏幕上不会显示任何内容。这是一项安全功能,以防附近的人根据密码长度猜测你的密码)。
如果你配置了服务器使用 SSH 密钥进行身份验证,你可以使用与上述相同的 SSH 过程,但你将自动登录而无需输入密码。请注意,你也不会收到密码邮件。
添加新用户
第一步是添加一个新用户。默认情况下,新用户是非特权用户。这意味着他们只能修改自己家目录中的文件,这正是我们想要的。
如果这是你的第一个新用户,并且你当前以 root 用户身份登录,你可以使用以下语法创建一个新用户:
adduser newuser
如果你以前添加过用户并授予了 sudo 权限,你可以通过使用相同的命令调用 sudo 来创建新用户:
sudo adduser newuser
无论哪种方式,Debian 都会提示你输入有关所创建用户的更多信息。你需要选择的第一部分信息是新用户的密码。
它会要求你选择一个密码,然后通过重复输入来确认(同样,出于安全目的,你在窗口中输入的字符不会显示)。之后,它会要求你输入有关用户的个人信息。你可以随意填写或留空。无论你的决定如何,用户的操作方式都完全相同。输入 ENTER 跳过这些提示并接受输入的值。
访问新用户
完成这些步骤后,你的新用户现在可用。你可以通过输入以下命令注销当前的 root 会话,并通过 SSH 以新用户身份登录:
[本地环境]
exit
这将终止当前的 root 会话,并允许你通过以下命令以 SSH 登录新用户:
[本地环境]
ssh newuser@your_server_ip_address
这次,输入你刚刚为该用户配置的新密码。
另一种快速切换到另一个用户而无需先注销的方法是使用 su 命令。这个命令代表 substitute user,它允许你切换到你想要的用户。你可以这样使用它:
su - newuser
这将要求你输入新用户的密码。当你正确输入后,你将切换到新用户。当你希望退出返回到原始会话时,只需再次输入 exit 命令:
exit
授予用户管理员权限
现在你的系统上有了一个新用户,你需要决定是否允许该用户使用 sudo 执行管理员任务。
如果你创建的用户将成为系统上的主要用户,通常希望启用 sudo 权限,以便进行常规配置和维护。
要将这些权限添加到我们的新用户,我们需要将新用户添加到 sudo 组。默认情况下,属于 sudo 组的用户被允许使用 sudo 命令。
作为 root,运行以下命令将你的新用户添加到 sudo 组(用你的新用户替换下面的高亮词):
usermod -aG sudo sammy
现在,当你以常规用户身份登录时,可以通过输入以下命令以 root 权限执行特定命令:
sudo command_name
系统会提示你输入 你的 用户密码(而不是 root 用户的密码)。然后该命令将以提升的权限执行。
删除用户
如果有多个人在使用你的服务器,你应该为他们创建自己的用户来登录。如果有一个你创建的用户不再需要了,那么删除它非常容易。
作为一个具有sudo特权的普通用户,你可以使用以下语法来删除用户:
sudo deluser --remove-home 用户名
--remove-home 选项将同时删除用户的家目录。
如果你以root用户身份登录,你不需要在命令前添加 sudo:
deluser --remove-home 用户名
结论
添加用户、删除用户和分配sudo特权都是你很可能需要为任何服务器配置的基本任务。通过熟悉这些流程,你将能够更快、更自信地设置你的初始环境。
相关文章:
如何在 Debian VPS 上添加、删除和授予用户 sudo 权限
简介 当你启动一个新的服务器时,会创建一个名为 root 的默认账户。这个用户拥有完全的系统访问权限,应该仅用于管理任务。作为 root 用户,你基本上可以对系统做任何操作,这很强大,但也极其危险。Linux 没有“撤销”按…...
openlayers 入门教程(九):overlay 篇
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…...
基于Python的高考志愿辅助填报系统
基于Python的高考志愿辅助填报系统是一个利用数据分析和机器学习技术帮助高考生进行志愿填报决策的工具。该系统可以根据考生的分数、兴趣、专业偏好、历史录取数据等因素,为考生提供科学合理的志愿填报建议。以下是设计这样一个系统的步骤和要点。 ### 1. 数据收集…...
使用CMake搭建简单的Qt程序
目录结构 代码 CMakeLists.txt: cmake_minimum_required(VERSION 3.15)set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON)# set the project name project(xxx)# 设置Qt的路径 # 例如 E:/Qt/Qt/aaa/msvc2019_64 # aaa 为Qt的版本号 set(QT_PATH…...
Qt + VS2017 创建一个简单的图片加载应用程序
简介: 本文介绍了如何使用Qt创建一个简单的图片加载应用程序。该应用程序可以打开图片文件并在界面上显示选定的图片,并保存用户上次选择的图片路径。 1. 创建项目: 首先,在VS中创建一个新的Qt Widgets应用程序项目,并…...
Linux文件搜索工具(gnome-search-tool)
opensuse下安装: sudo zypper install gnome-search-tool 操作界面:...
c++20协程详解(三)
前言 前面两节我们已经能够实现一个可用的协程框架了。但我们一定还想更深入的了解协程,于是我们就想尝试下能不能co_await一个协程。下面会涉及到部分模板编程的知识,主要包括(模板偏特化,模板参数列表传值,模板函数…...
LLM--提示词Propmt的概念、作用及如何设计提示词
文章目录 1. 什么是提示词?2. 提示词的作用3. 如何设计提示词?3.1. 提供详细的信息3.2. 指定角色3.3. 使用分隔符和特殊符号3.4. 提供示例3.5. 少量示例的思维链(COT)模型3.6. 思维树(TOT)模型3.7. 自洽性 …...
59 使用 uqrcodejs 生成二维码
前言 这是一个最近的一个来自于朋友的需求, 然后做了一个 基于 uqrcodejs 来生成 二维码的一个 demo package.json 中增加以依赖 "uqrcodejs": "^4.0.7", 测试用例 <template><div class"hello"><canvas id"qrcode&qu…...
Leetcode 3097. Shortest Subarray With OR at Least K II
Leetcode 3097. Shortest Subarray With OR at Least K II 1. 解题思路2. 代码实现 题目链接:3097. Shortest Subarray With OR at Least K II 1. 解题思路 这一题是题目3095的一个进阶版本,但也就是增加了序列的复杂度而已,要求我们能够在…...
算法系列--递归,回溯,剪枝的综合应用(2)
💕"对相爱的人来说,对方的心意,才是最好的房子。"💕 作者:Lvzi 文章主要内容:算法系列–递归,回溯,剪枝的综合应用(2) 大家好,今天为大家带来的是算法系列--递归,回溯,剪枝的综合应用(2) 一.括号…...
Docker搭建LNMP环境实战(09):安装mariadb
1、编写mariadb部署配置文件 在文件夹:/mnt/hgfs/dockers/test_site/compose下创建文件:test_site_mariadb.yml,内容如下: version: "3.5" services:test_site_mariadb:container_name: test_site_mariadbimage: mari…...
基于Python的微博舆论分析,微博评论情感分析可视化系统,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
Flutter iOS上架指南
本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能…...
实操:driver.js 实现产品导览、亮点、上下文帮助
官网 https://driverjs.com/ 依赖 <script src"https://cdn.jsdelivr.net/npm/driver.js1.0.1/dist/driver.js.iife.js"></script> <link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/driver.js1.0.1/dist/driver.css"/…...
【JavaWeb】Day29.SpringBootWeb请求响应——请求(二)
请求响应 4.数组集合参数 数组集合参数的使用场景:在HTML的表单中,有一个表单项是支持多选的(复选框),可以提交选择的多个值。 4.1 数组 数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即…...
asf是什么格式的文件?用手机怎么打开?
由于手机操作系统和硬件的限制,大部分手机并不直接支持asf文件的播放。因此,如果你想在手机上打开asf文件,你可能需要先将文件转换为手机支持的格式,如MP4。可以通过使用一些视频转换软件来实现,比如野葱视频转换器。 …...
picGo图床搭建gitee和smms(建议使用)
picGoGitee 这个需要下载gitee插件, 因为官方频繁的检索文件类型, 有时候也会失效 如果没有特殊要求平时存个学习的要看图中文字的重要的图片建议就是smms, 免费也够用! 图片存本地不方便, 各种APP中来回传还会失帧损失画质, 所以你值得往下看 picGosmms 建议使用这个, sm…...
LeetCode | 数组 | 二分查找 | 35.搜索插入位置【C++】
题目链接 题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…...
Linux 给网卡配置ip
ip addr | grep eth9 ifconfig eth9 10.0.0.2 netmask 255.255.255.0 up...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
