sudo 机制可以让你轻松以普通用户偶尔执行管理任务。让我们来学习一下。
本文是我们关于迁移到 Linux 的系列文章的第五篇。如果你错过了之前的那些,你可以在这里赶上:
你可能一直想了解 Linux。也许它在你的工作场所使用,如果你每天使用它,你的工作效率会更高。或者,也许你想在家里的某些计算机上安装 Linux。无论是什么原因,这一系列文章都是为了让过渡更容易。
与许多其他操作系统一样,Linux 支持多用户。它甚至支持多个用户同时登录。
用户帐户通常会被分配一个可以存储文件的家目录。通常这个家目录位于:
- /home/<loginname>
这样,每个用户都有存储自己的文档和其他文件的独立位置。
管理任务
在传统的 Linux 安装中,常规用户帐户无权在系统上执行管理任务。典型的安装 Linux 的系统会要求用户以管理员身份登录以执行某些任务,而不是为每个用户分配权限以执行各种任务。
Linux 上的管理员帐户称为 root。
Sudo 解释
从历史上看,要执行管理任务,必须以 root 身份登录,执行任务,然后登出。这个过程有点乏味,所以很多人以 root 登录并且整天都以管理员身份工作。这种做法可能会导致灾难性的后果,例如,意外删除系统中的所有文件。当然,root 用户可以做任何事情,因此没有任何保护措施可以防止有人意外地执行影响很大的操作。
创建
sudo
工具是为了使你更容易以常规用户帐户登录,偶尔以 root 身份执行管理任务,而无需登录、执行任务然后登出。具体来说,sudo
允许你以不同的用户身份运行命令。如果你未指定特定用户,则假定你指的是 root 用户。
sudo
可以有复杂的设置,允许用户有权限使用sudo
运行某些命令,而其他的不行。通常,安装的桌面系统会使创建的第一个帐户在sudo
中有完全的权限,因此你作为主要用户可以完全管理 Linux 安装。使用 Sudo
某些安装 Linux 的系统设置了
sudo
,因此你仍需要知道 root 帐户的密码才能执行管理任务。其他人,设置sudo
输入自己的密码。这里有不同的哲学。当你尝试在图形环境中执行管理任务时,通常会打开一个要求输入密码的对话框。输入你自己的密码(例如,在 Ubuntu 上)或 root 帐户的密码(例如,Red Hat)。
当你尝试在命令行中执行管理任务时,它通常只会给你一个 “permission denied” 错误。然后你在前面用
sudo
重新运行命令。例如:
- systemctlstart vsftpd
- Failedto start vsftpd.service:Accessdenied
- sudosystemctlstart vsftpd
- [sudo]passwordforuser1:
何时使用 Sudo
以 root 身份运行命令(在
sudo
或其他情况下)并不总是解决权限错误的最佳解决方案。虽然将以 root 身份运行会消除 “permission denied” 错误,但有时最好寻找根本原因而不是仅仅解决症状。有时文件拥有错误的所有者和权限。当你在尝试一个需要 root 权限来执行操作的任务或者程序时使用
sudo
。如果文件恰好由另一个用户(包括 root 用户)拥有,请不要使用sudo
。在第二种情况下,最好正确设置文件的权限。
迁移到Linux:使用sudo
发表于:2018-12-19
作者:John Bonesio
来源:Linux中国
 相关文章
Linux入门指南:轻松掌握基础,开启你... 一图看懂 Linux 文件系统的组成 在Linux服务器上部署容器化的企业级文... 在Linux服务器上部署容器化的分布式缓... 利用Linux中断处理机制提高系统性能 利用Linux虚拟化技术实现资源隔离和管理- 周排行
- 月排行
-   强大!Nginx配置在线一键生成“神器”
-   途游邹轶:中小公司的运维怎么做?
-   一张思维导图,包罗全面监控体系建设要点
-   推荐4款Linux系统漏洞扫描、评估工具
-   Linux中的主机、控制台和终端的起源
-   详解Linux运维工具:运维流程管理、运...
-   用这个开源工具让你的数据对老板友好起来
-   一张思维导图,包罗全面监控体系建设要点
-   强大!Nginx配置在线一键生成“神器”
-   韩晓光:系统运维体系架构规划
-   硬核:值得尝试的DevOps兵器库
-   HBase最佳实践——用好你的操作系统
-   利用Linux中断处理机制提高系统性能
-   Serverless 技术的六大发展趋势