我正在 VirtualBox 中运行 AT&T UNIX System V Release 4 Version 2.1,并且想为自己创建一个新的“用户帐户”。起初,我只是用命令创建了一个新用户useradd
,但没有指定组。当我登录时,我什至没有足够高的权限级别来在我的主文件夹中创建新目录。然后,我删除了我的帐户并使用相同的命令重新创建了它,只是我指定了该组是“adm”。完成此操作后,我能够创建一个新目录。这向我表明我现在拥有更高的权限级别。
这是添加管理员用户的正确方法吗?如果是这样,仍然存在哪些限制?
答案1
我对 ATT SVR4 并不熟悉——它在我出现之前就已经很旧了。但从你的描述来看,我想我可以提供足够的指导来解决你的问题。
Unix 并不完全有“管理员用户”的概念。这是一个 Windows 名称,并不直接映射到 Unix 概念。在Unix下,唯一的管理员帐户是root,用户ID为0。属于物理用户的帐户不具有这样的特征。管理员是知道 root 帐户密码的人。在使用的系统上须藤例如Ubuntu,你可以说管理员帐户是允许通过root身份运行程序的帐户sudo
,但sudo不是历史上的Unix工具,也没有与SVR4捆绑在一起。成为 root 的传统方法是使用su
命令,这需要知道 root 密码。
帐户确实属于一个或多个组,这可以间接授予权限,但这比“管理员用户”更加多样化。我记得组授予读取系统日志文件权限的系统adm
(甚至在一些最近的 Linux 发行版中也是如此);但这只是众多事情中的一件事。在某些 Unix 变体中(我不知道 SVR4),运行su
有一个额外的先决条件,即用户必须属于wheel
团体。
无论如何,您不需要任何特殊权限即可在主目录中创建子目录。 SVR4 上的命令可能adduser
不会创建新用户的主目录,或者需要一个选项来创建该目录;的语法useradd
尚未标准化,因此请检查系统上的手册页。
总之:
要创建帐户,请使用
useradd
.如果您需要手动创建用户的主目录,您可以使用以下命令(当然以 root 身份):mkdir /home/bob chown bob /home/bob chgrp users /home/bob # or whatever bob's primary group is chmod 755 /home/bob
要创建管理员用户,请创建一个用户,并为将使用该帐户的人员提供 root 密码。如果需要,将用户添加到
wheel
组中(使用内置工具(如果您的 Unix 变体上提供),或者通过/etc/group
手动编辑文件)。
答案2
在旧的unix上,当你创建一个用户时,你必须告诉它创建home。所以正确的方法是
useradd -g other -m -d /home/utente
passwd utente
chown utente /home/utente
chgrp utente /home/utente
chmod 755 /home/utente
当然,用你的名字替换 utente。如果你想要管理员用户,必须使用 root 作为组,但很危险,最好使用普通用户并使用
su -
用于管理模板。如果您愿意,您可以创建一个脚本来自动创建用户。怎么做?只需谷歌即可找到它;)