AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[sudo](unix)

Martin Hope
AdvApp
Asked: 2025-01-28 05:52:50 +0800 CST

sudo visudo 并且命令仍然提示输入密码

  • 5

我没有成功使用sudo visudo。我已阅读了这篇文章如何以 root 身份运行特定程序而不提示密码?和这篇文章sudo:即使设置了 NOPASSWD 也会提示密码(标记为重复)。

我正在尝试创建一个快捷命令来调用 IDrive。我创建了一个只/usr/local/bin/idrive运行较长的脚本sudo /opt/IDriveForLinux/bin/idrive。我将其设置为可执行文件sudo chmod +x /usr/local/bin/idrive,然后运行sudo visudo并在文件末尾添加了此行:

<username> ALL=(ALL) NOPASSWD: /usr/local/bin/idrive

但是当我输入时idrive,它仍然提示输入 sudo 密码。我遗漏了什么?

sudo
  • 1 个回答
  • 54 Views
Martin Hope
thiago
Asked: 2024-11-29 02:46:13 +0800 CST

sudoers 用于无密码 sudoedit,除了 sudoers

  • 6

我想要配置无密码的 sudoedit,以便编辑除/etcsudoers 文件本身之外的文件。

我尝试使用以下方法/etc/sudoers.d/sudoedit:

%sudo ALL=(root) NOPASSWD: sudoedit ^/etc/(?!sudo).*$

但这似乎不起作用,因为 sudo 使用了没有负向前瞻功能的旧正则表达式引擎。

还有其他方法可以实现这一点吗?也许结合/etc和否定!/etc/sudo?

sudo
  • 1 个回答
  • 34 Views
Martin Hope
Carlo C
Asked: 2024-10-26 00:41:05 +0800 CST

sudo 会产生一个具有新控制 PTY 的新会话

  • 8

在 Linux Ubuntu 上,当我在终端运行sudo su或sudo su -系统创建一个具有新控制的新会话时pts,即

ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ ps
    PID TTY          TIME CMD
 143254 pts/0    00:00:00 bash
 143302 pts/0    00:00:00 ps
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ sudo su -
root@ubuntu:~# 
root@ubuntu:~# ps
    PID TTY          TIME CMD
 143304 pts/1    00:00:00 sudo
 143305 pts/1    00:00:00 su
 143306 pts/1    00:00:00 bash
 143316 pts/1    00:00:00 ps
root@ubuntu:~#

这是预期的行为吗?

根据评论中的要求:

$ ps     
PID TTY          TIME CMD  
146202 pts/0    00:00:00 bash  
146231 pts/0    00:00:00 ps 

$ sudo -s 
root@ubuntu:/home/ubuntu# ps
PID TTY          TIME CMD  
146233 pts/1    00:00:00 sudo  
146234 pts/1    00:00:00 bash  
146240 pts/1    00:00:00 ps 
sudo
  • 1 个回答
  • 149 Views
Martin Hope
word4q
Asked: 2024-06-18 20:22:11 +0800 CST

为什么即使使用 sudo augenrules 也拒绝运行?

  • 6

我在 Docker 容器中运行 Amazon Linux 2023,我希望能够将一些自定义审计规则加载到内核中,并确保在容器重新启动时保留这些规则。我已将规则添加到该文件中,并可以在尝试使用该文件加载规则/etc/audit/rules.d/audit.rules时看到它们。但是,当我运行此命令时,我得到的输出是cataugenrules --load

/usr/sbin/augenrules: No change
You must be root to run this program.

即使使用 sudo ( ) 运行命令,我也收到相同的响应sudo augenrules --load。我已经以 root 身份登录(whoami返回root)。

我想知道是否可能是因为auditd服务未启动(在这种情况下,的输出augenrules具有误导性),但我无法检查此服务的状态,因为service auditd status(以及任何其他服务命令,如service auditd start)命令给我

Redirecting to /bin/systemctl status auditd.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

ps -p1表示 PID 1 是 bash

 PID TTY          TIME CMD
    1 pts/0    00:00:00 bash

我猜这是因为我在容器中运行,但不知道这是否就是为什么augenrules当我是 root 用户时即使使用也拒绝运行的原因sudo。

什么原因导致了这种行为?

sudo
  • 1 个回答
  • 54 Views
Martin Hope
ibse
Asked: 2024-06-18 01:16:11 +0800 CST

运行 sudo --preserve-env 时,/etc/profile 中的 LD_PRELOAD 变量未保存在环境中

  • 5

将变量添加LD_PRELOAD到末尾/etc/profile:

export LD_PRELOAD=/tmp/libhooks.so

LD_PRELOAD然后我启动一个新的 ssh 会话,其中有一个变量:

[admin@Centos8 ~]$ env | grep LD_PRELOAD
LD_PRELOAD=/tmp/libhooks.so

但是,如果在保存变量时通过 sudo 运行此命令,则由于某种原因LD_PRELOAD它不会被保存:

[admin@Centos8 ~]$ sudo --preserve-env env | grep LD_PRELOAD #doesn't output anything
sudo
  • 1 个回答
  • 34 Views
Martin Hope
Wildcard
Asked: 2024-02-03 04:03:44 +0800 CST

当从 root 登录 shell 运行文件时,为什么 `less` 显示“此帐户不可用”?

  • 10

这并不是一个真正的问题,只是我想了解的一个特点。

如果我得到一个 root shellsudo bash -l然后运行less somefilename我得到的信息更少只显示:

该帐户当前不可用。

(这不会显示为错误,而是显示在 less 内,就好像它是文件的内容一样。)

但是,如果我使用相同的 root shell 并sudo bash -l运行,cat somefilename | less那么我会看到文件的实际内容。

另外,如果我获得一个 root shell 并sudo bash跳过-l然后运行less somefilename它将显示文件的内容。

Root登录被禁用;该/etc/passwd线路root:x:0:0:root:/root:/sbin/nologin根本sudo su -不起作用。

但是,为什么该条目会对在文件上nologin运行产生任何影响呢?为什么它只在直接在文件上运行而不是也应用于在其标准输入上运行时less才会产生影响?less而且,为什么只有bash -lshell 才会出现这种情况?

(这是在 CentOS 7 系统上。)

sudo
  • 1 个回答
  • 337 Views
Martin Hope
jdevelop
Asked: 2024-01-22 03:34:25 +0800 CST

使用 sudo / 无密码执行 shell 脚本

  • 5

我得到了这一行sudoers:

Cmnd_Alias NVIDIA = /sbin/sh -c 'echo ON > /proc/acpi/bbswitch; modprobe nvidia; modprobe nvidia_drm modeset=1'

user ALL=(ALL) ALL, NOPASSWD: /sbin/systemctl suspend,NVIDIA

我的sudo -l向我展示:

sudo -l
User user may run the following commands on devbox:
    (ALL) ALL, NOPASSWD: /sbin/systemctl suspend, /sbin/sh -c 'echo ON > /proc/acpi/bbswitch; modprobe nvidia; modprobe nvidia_drm modeset\=1'

尽管如此,如果我尝试运行/sbin/sh -c 'echo ON > /proc/acpi/bbswitch; modprobe nvidia; modprobe nvidia_drm modeset=1'- 仍然提示我输入密码。

我怀疑=我在 nvidia 负载的争论中存在一些关于符号的问题modeset?

sudo
  • 1 个回答
  • 36 Views
Martin Hope
Aquarius Power
Asked: 2024-01-05 02:25:56 +0800 CST

如果启用 WIFI,为什么 sudo 会延迟 5 到 10 秒?以及如何解决它?

  • 5

在关闭互联网的情况下在终端中运行此命令:

while true;do sudo -n uptime 2>/dev/null;echo "`date`($((i++)))";sleep 0.1;done

现在打开互联网(这里是WIFI)。
现在日志每 5 到 10 秒就会发生一次......

如何让 sudo 忽略网络?

另外,为什么它会有这样的表现?

观测:ubuntu 22.04

PS.:我用来sudo -n uptime警告终端是否具有 sudo 访问权限(我将其全部涂成红色)。所以我在终端中运行的每个命令都会遇到这个问题。

WIFI开启时的延迟日志:

Fri  5 Jan 00:07:41 -03 2024(0)
Fri  5 Jan 00:07:47 -03 2024(1)
Fri  5 Jan 00:07:52 -03 2024(2)
Fri  5 Jan 00:07:57 -03 2024(3)
Fri  5 Jan 00:07:57 -03 2024(4)
Fri  5 Jan 00:08:02 -03 2024(5)
Fri  5 Jan 00:08:02 -03 2024(6)
Fri  5 Jan 00:08:13 -03 2024(7)
Fri  5 Jan 00:08:18 -03 2024(8)
Fri  5 Jan 00:08:18 -03 2024(9)
Fri  5 Jan 00:08:23 -03 2024(10)
Fri  5 Jan 00:08:28 -03 2024(11)
Fri  5 Jan 00:08:28 -03 2024(12)
Fri  5 Jan 00:08:34 -03 2024(13)
Fri  5 Jan 00:08:39 -03 2024(14)
Fri  5 Jan 00:08:44 -03 2024(15)
Fri  5 Jan 00:08:44 -03 2024(16)

当 WIFI 关闭时:

Fri  5 Jan 00:11:45 -03 2024(21)
Fri  5 Jan 00:11:45 -03 2024(22)
Fri  5 Jan 00:11:46 -03 2024(23)
Fri  5 Jan 00:11:46 -03 2024(24)
Fri  5 Jan 00:11:46 -03 2024(25)
Fri  5 Jan 00:11:46 -03 2024(26)
Fri  5 Jan 00:11:46 -03 2024(27)
Fri  5 Jan 00:11:46 -03 2024(28)
Fri  5 Jan 00:11:46 -03 2024(29)
Fri  5 Jan 00:11:46 -03 2024(30)
Fri  5 Jan 00:11:47 -03 2024(31)
Fri  5 Jan 00:11:47 -03 2024(32)
Fri  5 Jan 00:11:47 -03 2024(33)
Fri  5 Jan 00:11:47 -03 2024(34)
Fri  5 Jan 00:11:47 -03 2024(35)
Fri  5 Jan 00:11:47 -03 2024(36)
Fri  5 Jan 00:11:47 -03 2024(37)
Fri  5 Jan 00:11:47 -03 2024(38)
Fri  5 Jan 00:11:47 -03 2024(39)
Fri  5 Jan 00:11:48 -03 2024(40)
Fri  5 Jan 00:11:48 -03 2024(41)
Fri  5 Jan 00:11:48 -03 2024(42)
Fri  5 Jan 00:11:48 -03 2024(43)
Fri  5 Jan 00:11:48 -03 2024(44)
Fri  5 Jan 00:11:48 -03 2024(45)
Fri  5 Jan 00:11:48 -03 2024(46)
Fri  5 Jan 00:11:48 -03 2024(47)
Fri  5 Jan 00:11:49 -03 2024(48)
Fri  5 Jan 00:11:49 -03 2024(49)
Fri  5 Jan 00:11:49 -03 2024(50)
Fri  5 Jan 00:11:49 -03 2024(51)
Fri  5 Jan 00:11:49 -03 2024(52)
Fri  5 Jan 00:11:49 -03 2024(53)
Fri  5 Jan 00:11:49 -03 2024(54)
Fri  5 Jan 00:11:49 -03 2024(55)
Fri  5 Jan 00:11:50 -03 2024(56)
Fri  5 Jan 00:11:50 -03 2024(57)
Fri  5 Jan 00:11:50 -03 2024(58)
Fri  5 Jan 00:11:50 -03 2024(59)
Fri  5 Jan 00:11:50 -03 2024(60)
Fri  5 Jan 00:11:50 -03 2024(61)
Fri  5 Jan 00:11:50 -03 2024(62)
Fri  5 Jan 00:11:50 -03 2024(63)
Fri  5 Jan 00:11:50 -03 2024(64)
Fri  5 Jan 00:11:51 -03 2024(65)
Fri  5 Jan 00:11:51 -03 2024(66)
Fri  5 Jan 00:11:51 -03 2024(67)
Fri  5 Jan 00:11:51 -03 2024(68)
Fri  5 Jan 00:11:51 -03 2024(69)
Fri  5 Jan 00:11:51 -03 2024(70)
Fri  5 Jan 00:11:51 -03 2024(71)
Fri  5 Jan 00:11:51 -03 2024(72)
Fri  5 Jan 00:11:52 -03 2024(73)
Fri  5 Jan 00:11:52 -03 2024(74)
Fri  5 Jan 00:11:52 -03 2024(75)
Fri  5 Jan 00:11:52 -03 2024(76)
Fri  5 Jan 00:11:52 -03 2024(77)
Fri  5 Jan 00:11:52 -03 2024(78)
Fri  5 Jan 00:11:52 -03 2024(79)
Fri  5 Jan 00:11:52 -03 2024(80)
Fri  5 Jan 00:11:52 -03 2024(81)
Fri  5 Jan 00:11:53 -03 2024(82)
Fri  5 Jan 00:11:53 -03 2024(83)
Fri  5 Jan 00:11:53 -03 2024(84)
Fri  5 Jan 00:11:53 -03 2024(85)
Fri  5 Jan 00:11:53 -03 2024(86)
Fri  5 Jan 00:11:53 -03 2024(87)
Fri  5 Jan 00:11:53 -03 2024(88)
Fri  5 Jan 00:11:53 -03 2024(89)
Fri  5 Jan 00:11:54 -03 2024(90)
Fri  5 Jan 00:11:54 -03 2024(91)
Fri  5 Jan 00:11:54 -03 2024(92)
Fri  5 Jan 00:11:54 -03 2024(93)
Fri  5 Jan 00:11:54 -03 2024(94)
Fri  5 Jan 00:11:54 -03 2024(95)
Fri  5 Jan 00:11:54 -03 2024(96)
Fri  5 Jan 00:11:54 -03 2024(97)
Fri  5 Jan 00:11:54 -03 2024(98)
Fri  5 Jan 00:11:55 -03 2024(99)
sudo
  • 1 个回答
  • 41 Views
Martin Hope
AtonDuke
Asked: 2023-12-05 23:39:46 +0800 CST

将命令复制到不同的名称意味着什么?

  • 6

'!' 的限制 操作员

使用“!”从 ALL 中“减去”命令通常无效 操作员。用户可以通过将所需的命令复制到不同的名称然后执行该命令来轻松规避此问题。例如:

账单 ALL = ALL, !SU, !SHELLS

并不能真正阻止 bill 运行 SU 或 SHELLS 中列出的命令,因为他可以简单地将这些命令复制到不同的名称,或者使用编辑器或其他程序的 shell 转义。因此,此类限制最多应被视为建议性的(并通过政策强化)。

一般来说,如果用户拥有 sudo ALL,则没有什么可以阻止他们创建自己的程序,为他们提供 root shell(或制作自己的 shell 副本),无论任何“!”如何 用户规范中的元素。

什么是

他可以简单地将这些命令复制到不同的名称

意思是?是命令别名还是其他什么?

sudo
  • 1 个回答
  • 69 Views
Martin Hope
Mark
Asked: 2023-09-09 16:21:47 +0800 CST

使用 visudo 授予权限仍会阻止用户执行命令

  • 5

按照此解决方案,我想授予用户daemon执行/bin/date. 这是我所做的:

  1. apache2找到生成时使用的用户:

    # ps | grep httpd
    252 root     /usr/bin/httpd -k start
    260 daemon   /usr/bin/httpd -k start
    262 daemon   /usr/bin/httpd -k start
    264 daemon   /usr/bin/httpd -k start
    467 root     grep httpd
    
  2. 找到正确的路径date:

    # which date
    /bin/date
    
  3. 使用visudo添加以下行:

    Cmnd_Alias DATE=/bin/date                                               
    daemon ALL=NOPASSWD: DATE
    
  4. 重启

  5. 测试新权限:

    # sudo -u daemon date -s "2023-09-09 10:16:00"
    date: can't set date: Operation not permitted
    Sat Sep  9 10:16:00 UTC 2023
    

我的语法有什么问题吗?我也尝试过:

ALL ALL=NOPASSWD: DATE

但都是一样的。这是一个 Buildroot 环境。

sudo
  • 1 个回答
  • 16 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve