Linux 和神秘的目录消失(和重新出现)案例

Linux 和神秘的目录消失(和重新出现)案例

我已经设置了我的第一个 Ubuntu 服务器,并立即登录(作为myuser)开始对其进行自定义。我转到/opt并运行mkdir sandbox

mkdir:无法创建目录“sandbox”:权限被拒绝

权限被拒绝?!?好的。所以我运行sudo -i并输入myuser的密码。重新运行mkdir命令,瞧!目录创建好了。我退出了。

我重新以 身份登录myuser并导航到/opt并运行ls:什么都没有!里面没有可见的目录/opt!什么!?!?

因此我再次使用 sudosudo -i并重新运行ls现在它看见了sandbox/

我认为我缺少一些有关用户和根的 Linux 基础知识。在服务器配置/安装期间,它要求我创建一个用户,我照做了(myuser)。我假定这也将是根用户(具有完全管理员权限),因为它不仅是我在安装期间创建的用户,它还是系统中的第一个用户!

那么为什么myuser不能呢:

  • /home/myuser无需 sudo 即可在外部创建目录?
  • 查看“sudo 模式”下创建的目录

sudo我也不太清楚和su用户之间的区别root

最终,除了完全理解这些基础知识之外,我还想安装一堆/opt/sandbox/可以全天候运行并与本地文件系统交互的服务器软件。现在我不确定我是否应该在以 身份登录myuser、以 sudo 身份登录myuser或其他方式安装这些应用程序。

这些服务器位于安全的私人家庭局域网内,因此我不需要“真正的管理员”和疯狂的安全控制。我只是在为我正在编写的一个小软件工具设置一个简单的开发环境。提前感谢对上述问题的任何帮助。

答案1

/opt 默认归用户root和组所有root

尝试一下l /,你会看到文件夹 /opt 的所有者root root分别是“ ”和“组”。

如果您确实想以非 root 用户身份在 /opt 中创建和修改文件,则需要在其中创建一个文件夹并修改其权限,以便非 root 用户可以自由访问它。

例子:

sudo mkdir /opt/sandbox
sudo chown myuser:users /opt/sandbox

第一个命令创建了文件夹,但是它归root组所有root
,第二个命令将所有权(chown)更改为您的用户myuser,并使其成为组的一部分usersmyuser属于其中的一部分)。

答案2

那么为什么 myuser 不能:......

尝试

ls -l sandbox
getfacl sandbox

如果这些输出不清楚或者没有解释您所看到的内容,请将输出剪切并粘贴到您的问题的编辑中。

我也不太清楚 sudo、su 和 root 用户之间的区别。

sudo仅为您提供一个命令的提升 root(即管理员)权限。 sudo 有一个配置文件,您可以在其中控制允许哪些用户执行哪些操作。

su通过为您提供一个具有有效用户 ID root 的新 shell 会话,为您提供多个命令的提升权限。

root 用户是一个名为 root 的特殊用户,您可以在 /etc/passwd 中看到它。在 Unix 或 Linux 系统中,您总会遇到十几个其他用户。人们通常有一个普通帐户,并使用该帐户进行所有工作,但绝对需要 root 权限的操作除外(例如,安装供系统上所有用户使用的软件)。这使得恶意软件更难做坏事,也使您更难犯下无法挽回的错误。

我想安装一些服务器软件

我发现最好使用系统的包管理器来安装包。我不想手动在 /opt 中创建文件夹,那将是我的最后选择。

相关内容