我希望学习sudoGNOME 终端的命令。
我是 Ubuntu 的狂热用户,但是我非常想学习尽可能多的命令和快捷方式。我在 Compaq Presario cq60 上运行 Ubuntu 12.04 32 位。
小智 9
sudo(超级用户 do)是限制访问 root 帐户(或其他帐户)的绝佳工具。在正常使用中,它被设置为使轮组中的人可以在给它密码的情况下以 root 身份运行命令。
sudo 的美妙之处在于您可以向某些用户授予 root 访问权限,而无需向他们提供 root 密码。最重要的是,您可以指定仅授予他们访问某些主机上的某些命令的权限。最重要的是,sudo 会记录通过它运行的每个命令,因此您可以轻松追踪可能出现的任何问题。
使用须藤
使用 sudo 非常简单。如果您想以 root 身份运行命令,只需键入 sudo 程序参数。例如:
sudo passwd tstrombe
Run Code Online (Sandbox Code Playgroud)
如果您想以 root 以外的用户身份运行命令,请使用sudo -u username程序参数,如下所示:
sudo -u condor /usr/local/sbin/condor_start
Run Code Online (Sandbox Code Playgroud)
在极少数情况下,您可能需要以另一个用户身份启动整个 shell。不推荐这样做,因为它不会记录您在此 shell 下执行的命令,但有时当您无权访问要在其中工作的目录时,这会使事情变得更方便。 这将启动一个 root shell:
sudo -s
Run Code Online (Sandbox Code Playgroud)
有关更多提示,我建议查看 sudo 手册。
man sudo
Run Code Online (Sandbox Code Playgroud)
配置sudo
将自己添加到车轮组
如果您键入 groups 命令,您将看到您是其中一个活跃成员的组列表。
% 组
wheel uucp dialout audio video condor
Run Code Online (Sandbox Code Playgroud)
如果没有显示轮子,您将需要将自己添加到轮子组中。您可以使用系统附带的图形管理工具,或者简单地以 root 用户身份使用您喜欢的文本编辑器,然后编辑/etc/group。将自己添加到显示轮子的行中:
wheel:x:10:tstrombe
Run Code Online (Sandbox Code Playgroud)
您需要注销并重新登录才能使成员资格更改生效。但是,在此之前,您可能想要进行下一步。
编辑 sudo 配置
打开终端,并确保 EDITOR 变量设置为您的首选编辑器,否则您将使用 vi 编辑 sudoers 文件。
现在您可以以 root 身份启动 visudo:
/usr/sbin/visudo
Run Code Online (Sandbox Code Playgroud)
在 sudo 中启用轮组
在这些行的开头放置 # 符号:(如果没有找到)
Defaults targetpw # 询问目标用户的密码,即 root
%users ALL=(ALL) ALL # 警告!仅将其与“默认目标pw”一起使用!
然后您将看到两行提到车轮组。如果您的机器上没有敏感数据,并且绝对相信除了您之外没有人会使用或进入它,您可以取消对 NOPASSWD 的注释,否则,我强烈推荐第一个选项。这显示了我们推荐的配置:
# 取消注释以允许组轮中的人运行所有命令
%wheel ALL=(ALL) ALL
# 同样的事情没有密码
%wheel ALL=(ALL) NOPASSWD: ALL
您现在可以保存此文件并退出。现在应该允许您使用 sudo 命令。更改密码超时
默认情况下,sudo 会在 5 分钟不使用后询问您的密码。您可以通过将以下选项添加到带有 visudo 的 sudoers 文件中,将此超时更改为 20 分钟。
timestamp_timeout = 20
Run Code Online (Sandbox Code Playgroud)
如果您真的需要,您还可以在每个用户的基础上指定此超时。
你可以做更多。
可能你的概念sudo是错误的,要知道它的功能:
类型man sudo的终端
它是一种让一个用户代表另一个用户做某事的工具。主要用于为普通用户获取root权限。
例如。apt-get install需要root权限才能安装软件。所以我们用sudo apt-get install