一些基本的 sudo 命令是什么?

一些基本的 sudo 命令是什么?

我正在寻求学习sudoGNOME 终端的命令。

我是 Ubuntu 的狂热用户,但我非常想学习尽可能多的命令和快捷方式。我在 Compaq Presario cq60 上运行 Ubuntu 12.04 32 位。

答案1

须藤(超级用户执行)是限制对 root 帐户(或其他帐户)访问的出色工具。在正常使用中,它设置为让 wheel 组中的人员在输入密码后可以以 root 身份运行命令。

sudo 的优点在于,您可以向某些用户授予 root 访问权限,而无需向他们提供 root 密码。最重要的是,您可以指定仅授予他们访问某些主机上的某些命令的权限。最重要的是,sudo 会记录通过它运行的每个命令,因此您可以轻松跟踪可能出现的任何问题。

使用 sudo

使用 sudo 非常简单。如果您想以 root 身份运行命令,只需输入 sudo program parameters。例如:

sudo passwd tstrombe

如果您想以非 root 用户身份运行命令,请使用sudo -u username程序参数,如下所示:

sudo -u condor /usr/local/sbin/condor_start

在极少数情况下,您可能需要以另一个用户的身份启动整个 shell。不建议这样做,因为它不会记录您在此 shell 下执行的命令,但当您无法访问您想要工作的目录时,它有时会让事情更方便。这将启动 root shell:

sudo -s 

如需更多提示,我建议查看 sudo 手册。

man sudo 

配置 sudo

将自己添加到 wheel 组

如果您键入 groups 命令,您将看到您是其中活跃成员的群组列表。

% 组

wheel uucp dialout audio video condor

如果没有显示 wheel,您需要将自己添加到 wheel 组。您可以使用系统自带的图形管理工具,或者以 root 用户身份使用您最喜欢的文本编辑器,然后编辑/etc/组. 将你自己添加到写着 wheel 的行中:

wheel:x:10:tstrombe

您需要注销并重新登录以使会员资格更改生效。不过在此之前,您可能需要执行下一步。

编辑 sudo 配置

打开一个终端,并确保 EDITOR 变量设置为您喜欢的编辑器,否则您将使用 vi 编辑 sudoers 文件。

现在你可以以 root 身份启动 visudo:

/usr/sbin/visudo

在 sudo 中启用 wheel 组

在这些行的开头加上#符号:(如果未找到)

Defaults targetpw #询问目标用户即root的密码

%users ALL=(ALL) ALL # 警告!仅与 'Defaults targetpw' 一起使用!

然后,您将看到两行提到 wheel 组的内容。如果您的机器上没有敏感数据,并且绝对相信除了您之外没有人会使用或访问它,则可以取消注释 NOPASSWD ,否则,我强烈建议您使用第一个选项。这显示了我们推荐的配置:

# 取消注释以允许 wheel 组中的人员运行所有命令

%wheel ALL=(全部) 全部

# 无需密码即可使用

%wheel ALL=(全部) NOPASSWD: 全部

您现在可以保存此文件并退出。现在您应该可以使用 sudo 命令了。更改密码超时

默认情况下,sudo 会在您 5 分钟未使用密码后要求您输入密码。您可以使用 visudo 将以下选项添加到 sudoers 文件,将此超时时间更改为 20 分钟。

timestamp_timeout = 20

如果您确实愿意,您也可以根据每个用户指定此超时时间。

您还可以做更多。

答案2

可能你的概念sudo是错误的,了解一下它的功能:

man sudo在终端中输入

它是一个让用户代表另一个用户做某事的工具。主要用于普通用户获取 root 权限。

例如,apt-get install需要 root 权限才能安装软件。因此我们使用sudo apt-get install

答案3

笔记:

  • sudo 帮助您以另一个用户身份执行命令,不仅仅是 root 用户。
  • sudo 可能需要你输入密码,这个密码是当前用户的密码,而不是root的密码。

例如:

您的 Linux 系统中有三个用户,用户 A、用户 B 和 root。当您使用用户 A 登录时,假设用户 A 的主目录是 /home/userA。您触摸一个文件并将其设置为只能由用户 A 读取

cd ~ && echo 'content' >> filename && chmod 700 filename

然后当你注销用户A,用用户B登录时,假设用户B的主目录是/home/userB。然后你会发现你无法cat filename 的内容。

cat /home/userA/filename   //permission denied

然后你可以配置让用户B可以以用户A的身份执行cat命令。配置过程如下:

echo 'userB ALL=(userA) SETENV: NOPASSWD: /bin/cat’ > /etc/sudoers.d/userB

然后 userB 可以使用此命令来 cat 文件内容

sudo -u userA cat /home/userA/filename

答案4

为了得到全部须藤命令sudo -h输入终端

在终端中 sudo -h

以下是一些常用命令 -

  • $ sudo poweroff有时你需要关机直接从您的终端。此命令将执行此任务。

  • $ sudo apt-get update要安装、删除和升级任何软件包,我们可以使用 (APT) 软件包管理器。apt-get 命令将帮助您进行安装。

  • $ sudo su超级用户是 Linux 新手会用到的最重要的命令。每一个需要 root 权限的命令都需要这个 sudo 命令。

  • $ sudo reboot重新启动计算机。

  • $ sudo mount /dev/sda3 /mnt一旦在 /etc/sudoers 中为您的帐户提供了 sudo 访问权限,您就可以将任何 root 命令作为参数传递给 sudo 命令。

  • $ sudo bash从您的用户帐户获取 root shell。

不要执行此命令!

  • $ sudo rm -rf /在运行时删除您的 Linux 或 Mac OS X。

看这个视频Ubuntu 15.10 中的“sudo rm -rf /”。

相关内容