我遗漏了什么有关 Linux 用户名和命令行的信息?

我遗漏了什么有关 Linux 用户名和命令行的信息?

我对 Linux(特别是 Ubuntu 14.04)还很陌生,距离我上次使用 Unix 系统已经过去 20 年了。即使在那时,我的命令行任务也很少,所以我有一系列带有命令序列的便利贴来帮助我。我正在学习 Ubuntu,以帮助我正在从事的一些开源项目。老实说,我发现来自 Windows 命令行/批处理文件/Powershell 世界的 Linux 有点令人沮丧。现在背景知识已经足够了……

我的命令提示符在 root@serverName 和 user@serverName 之间来回切换,但我不知道如何或为什么。我还注意到有些目录无法访问但确实存在,而且我缺乏在其他一些文件夹中写入的权限。

命令提示符下的不同用户名是什么意思?我如何跟踪我可以读取/写入的文件夹?我很感激能提供参考,因为我并不反对挖掘,但我现在甚至不知道该寻找什么。

谢谢!

答案1

您的命令行提示符在启动脚本中定义shell 的(bash默认情况下,但 YMMV);Ubuntu 中的默认设置是将其设置为$USER@$HOST,换句话说,就是user@servername您正在查看的。

您通常会在 Ubuntu 机器上登录到您的用户;该用户具有相对较低的权限 --- 读取世界可读文件、读取/写入自己的文件、使用公共服务(打印机等),但不能配置它们。Unix 机器中的“管理员”用户称为root(又名超级用户),并且具有全部权限 --- 它可以对系统进行任何操作。当您从普通用户切换到 root 时,提示会发生变化,以警告您。

进行切换通常有两种方式:一种是直接以 root 身份登录,另一种是使用命令获取权限,例如susudosu代表切换用户在 Ubuntu 中第一种方法不受欢迎;通常root用户根本没有密码,无法直接登录。

Ubuntu 获取root权限的方式是,一部分用户(属于sudoadm组的用户)可以通过 切换到超级用户“权限” sudo -i。您可以使用以下命令进行检查groups

[romano:~] % groups
romano adm mail dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

(组系统是 Unix 向用户赋予部分权限的方式)。

看看这个例子,了解我的提示(这不是标准的,我使用液体提示):

在此处输入图片描述

为了进一步挖掘,这个unix教程是一个很好的信息来源。

答案2

在 Linux 中,“超级用户”权限可让您读取和写入整个系统上的任何文件。您可以通过以“root”用户身份登录或使用类似 来获得超级用户权限sudo

由于 Linux 的设计允许多个用户使用,因此任何用户都无法破坏其他用户的系统,因此 Linux 拥有用户帐户,并将每个用户的文件分开并保护起来,以便只有该用户可以修改它们。您的文件将位于(默认情况下) 。/home/username/除此之外,任何普通用户都无法修改“系统”文件,例如已安装的程序或其系统范围的配置。

如果您需要执行任何影响整个系统的操作,您可能需要使用超级用户权限,以 root 身份登录或使用sudo。但是,需要注意的是,您通常不应以 root 身份登录或使用sudo,并且当您这样做时,您需要非常小心您正在做的事情。

答案3

要回答您的问题“我如何跟踪我可以读/写哪些文件夹”,这通常在 ubuntu 和类 unix 系统上使用 find 命令完成。

例如,这是 unix 和 linux 论坛上的一篇帖子,在目录和所有子目录中搜索文件并删除@http://www.unix.com/shell-programming-and-scripting/255252-searching-file-directory-all-subdirectory-delete.html其中 find 命令的 -user 标志用于执行常规 unix 系统管理操作。

有关 find 命令的更多信息,请访问 find 的手册页参考:

http://www.unix.com/man-page/linux/1/find/

相关内容