我不明白在使用 sudo 时如何允许在我通过vi编辑的文件中突出显示语法。当我sudo vi <filename>的终端只是我的终端设置的黑白时。在 vi 如果我输入:syntax on什么都没有改变。
当我vi <filename>所有的语法都正确着色时。使用 RHEL 5.4,相关环境:
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;
33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;
32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;
32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;
31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;
31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;
35:*.png=01;35:*.tif=01;35:
Run Code Online (Sandbox Code Playgroud)
SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)
TERM=xterm-color
Run Code Online (Sandbox Code Playgroud) 我经常在 vim 中打开一个文件,进行一些更改,并且何时保存文件是只读的..(由另一个用户拥有)。我正在寻找有关如何以 root 身份重新打开文件并保留更改而无需先将其保存到临时文件以便以 root 身份复制或重新编辑的提示。
第一次在服务器上尝试 sudo 时,您会收到 sudo 警告;
我们相信您已经收到了当地系统管理员的常规讲座。通常归结为以下三点:
#1) 尊重他人的隐私。
#2) 打字前请三思。
#3) 能力越大,责任越大。
有谁知道您需要编辑以修改此警告的文件吗?
我有一个程序,如果它在“sudo”下运行,它的行为应该有所不同。有没有办法确定它是否在 sudo 下运行?
更新:有人问我为什么要这样做。在这种情况下,在使用 MacPorts 的 Mac 上有输出告诉您剪切和粘贴特定命令。如果 MacPorts 命令使用“sudo”运行,它应该在示例命令中包含 sudo:
$ sudo port selfupdate
---> Updating MacPorts base sources using rsync
MacPorts base version 2.2.1 installed,
MacPorts base version 2.2.1 downloaded.
---> Updating the ports tree
---> MacPorts base is already the latest version
The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated
^^^^^^^^^ it would be really sweet if it output "sudo port upgrade outdated" instead. It would be …Run Code Online (Sandbox Code Playgroud) 我正在尝试以与运行剧本的用户不同的用户身份运行特定的 Ansible 任务。我的.yml文件看起来像这样:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Run Code Online (Sandbox Code Playgroud)
运行此任务向我显示该whoami命令返回的用户与我在任务中定义的用户不同(准确地说,返回在hosts名为 的文件中定义的用户ubuntu)。
我还尝试像这样定义任务:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
Run Code Online (Sandbox Code Playgroud)
但是后来我收到“ Missing sudo password”错误,尽管sudoers文件中有一行说明someusername ALL=(ALL) NOPASSWD:ALL并sudo在远程机器上发出命令,因为someusername没有要求我输入密码。
那么,我如何以不是hosts文件中定义的用户或root他自己的不同用户身份运行特定任务?
我知道如何创建一个给定用户可以通过sudo. 我有一个给定的命令,我希望允许任何用户sudo无需输入密码即可执行。为了实现这一点,我会在 /etc/sudoers 文件中放入什么?
我对服务器管理还很陌生,我看到很多网站建议为 root 用户创建的用户分配 sudo 权限,并为 root 用户提供一个非常长的密码以增强安全性。
但是,如果新创建的用户可以执行与 root 用户相同的功能,那么这样做的实际好处是什么?
如果我做:
sudo cat /etc/resolv.conf | less
Run Code Online (Sandbox Code Playgroud)
它会提示我输入密码,即使less(大概)需要stdin。在什么 fd 上显示密码提示以及它如何取回输入?
我正在寻找默认 Amazon AMI linux 映像为默认ec2-user帐户设置权限的位置。
用这个账号登录后就可以成功使用sudo了。通过运行 visudo(没有其他选项)打开的 sudoers 文件进行检查,我看到 root ALL ALL 的一些默认设置和权限
那么...... ec2-user 的权限在哪里分配?
我还没有尝试添加新权限,但最终我想为系统管理任务辞职 ec2-user 并使用非完全 root 用户来管理应用程序(停止和启动 mysql、httpd、编辑 apache 的 vhost 文件和上传/ 在 web 根目录下编辑 web 内容)
我正在尝试编写一个脚本来安装一堆软件,我不想将所有东西都作为 运行root,所以我希望能够提示输入密码,然后进行安装、使用sudo或su在我需要时获得特权。
我sudo -v在脚本开头提示输入密码,然后正常使用 sudo 。这很好用,直到我得到一个接管超时的安装。
我宁愿不必永久增加超时。有没有办法只为当前会话增加 sudo 的超时时间?