标签: sudo

如何告诉 sudo 使用 0022 的 umask 写入文件?

我最近升级到雪豹。我注意到一些由 MacPorts 编写的文件安装时权限错误——它们的 umask 为 0077。我想我已经缩小了问题的范围:

  1. port命令通过调用sudo
  2. 我的.bashrc文件指定了 0077 的 umask。
  3. 在旧版本的 OS X(10.5 及更低版本)上,sudo 使用root用户的 umask (0022);但是,现在它使用我的umask 0077。

反正有没有sudo使用旧的行为?现在,它是一种烦人,因为我必须使用sudo运行像简单的命令port installedport outdated等等。

(此问题在此MacPorts 票证中有更详细的描述。)

编辑

我发现了umasksudo的选项,并在其中/etc/sudoers添加了以下行:

Defaults umask=0022
Run Code Online (Sandbox Code Playgroud)

然而,这并没有起到期望的,因为实际所用的umasksudo工会与此默认掩码用户掩码的。为了重写的行为sudo的umask的,直接使用默认的(即不是工会的用户和默认sudo的面膜),可以添加以下内容:

Defaults umask_override
Run Code Online (Sandbox Code Playgroud)

sudo macports osx-snow-leopard permissions macos

12
推荐指数
2
解决办法
1万
查看次数

如何在没有“sudo”的情况下以 root 身份运行程序?

我在 OS X 上有一个只能以 root 身份运行的二进制程序。

我厌倦了sudo每次调用它并输入密码时都预先准备好,并且希望它在我定期调用它时自动以 root 身份运行,而不需要输入密码。

该程序的所有者是root,其组是wheel。

我试图chmod ug+s在执行时将 userid 和 groupid 设置为 root/wheel,但是当我在没有 sudo 的情况下运行程序时,它仍然抱怨它只能使用 sudo 或以 root 身份运行。

security root sudo setuid macos

12
推荐指数
2
解决办法
4万
查看次数

sudoedit:为什么要在 sudo vi 上使用它?

根据手册页

sudoedit /etc/file
Run Code Online (Sandbox Code Playgroud)

创建文件的副本,以当前用户身份打开它,并在保存时用副本覆盖现有文件。

然而

sudo vi /etc/file
Run Code Online (Sandbox Code Playgroud)

以 root 身份打开文件

手册页指出 sudoedit 与 sudo 不同,因为:

编辑器在调用用户的环境未修改的情况下运行

第一种方法是否更安全,如果是,为什么?使用 sudoedit 而不是 sudo vi 还有其他原因吗?

linux sudo

12
推荐指数
2
解决办法
2万
查看次数

为什么“sudo -u root echo `whoami`”不返回 root?

您如何使用 sudo 在 Ubuntu 上以实际 root 用户身份运行命令?我原本以为这是 sudo 的默认行为,直到我运行:

myuser@localhost:~$ sudo echo `whoami`
myuser

myuser@localhost:~$ sudo -u root echo `whoami`
myuser
Run Code Online (Sandbox Code Playgroud)

但是,这是我想要的行为类型,但仅在一行中:

myuser@localhost:~$ sudo su -
root@localhost:~# echo `whoami`
root
Run Code Online (Sandbox Code Playgroud)

linux sudo ubuntu

11
推荐指数
3
解决办法
1万
查看次数

允许某个组的用户在没有 sudo 的情况下运行命令

我知道如何编辑 /etc/sudoers 以便我可以在无需输入密码的情况下以 sudo 身份运行命令,但是有没有一种方法可以让一个组的所有用户在没有 sudo 的情况下完全运行程序。(我要运行的程序是“mount”和“umount”)。

linux sudo passwords

11
推荐指数
1
解决办法
2万
查看次数

CygWin 使用(自动化)SUDO 的实用(更接近经典的 Linux 之一)方法

能够sudoCygWin 中使用命令很有用,而且比打开提升的 shell更快

Luis@Kenobi /cygdrive/c/Users/Luis
$ net user /add TestUser
System error 5.
Access denied.

Luis@Kenobi /cygdrive/c/Users/Luis
$ sudo net user /add TestUser
Command completed successfully.
Run Code Online (Sandbox Code Playgroud)

如上所示,您也可以像 Linux 一样运行 Windows 命令/脚本。对我来说是整洁的;在远程(SSH) 控制台上工作,并允许组合 Windows/Linux命令。因此,能够执行管理任务几乎是必须的。

但该 CygWin项目SUDO有一种可能很危险的行为:它作为服务器/客户端架构工作,实际上,客户端 (sudo) 在内部向服务器 (sudoserver.py) 发送命令请求(不在外部侦听)本地计算机)端口 7070TCP,没有用户或权限检查,因此登录到计算机的任何人(甚至是非特权用户)都可以执行管理员(CygWin 或 Windows)shell 命令或脚本(CygWin 或 Windows)。如果您保留作者建议的方法,则
问题会变得更糟:将“sudoserver.py”注册为服务,因此它将永久运行。

因此,为了使事情更安全(并非完全),我这样做:
1.- 在管理外壳上执行“sudoserver.py”。
2.- 在另一个 CygWin shell …

windows sudo cygwin bash command-line

11
推荐指数
1
解决办法
4140
查看次数

不同的行为:“sudo nmap”与“nmap”?

我正在尝试使用 nmap 进行简单的端口扫描:

$ nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
Nmap scan report for 192.168.56.101
Host is up (0.0048s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
5555/tcp  open  freeciv
24800/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试与 相同时sudo,它无法声称主机已关闭:

$ sudo nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
Note: Host seems down. If it is really up, but …
Run Code Online (Sandbox Code Playgroud)

networking sudo nmap macos

11
推荐指数
2
解决办法
8587
查看次数

防止恶意软件嗅探 sudo 密码

我经常听到人们sudo说这是恶意软件感染 Linux 计算机的主要障碍之一。

最常见的说法似乎是这样的:修改系统配置需要root权限,获得root权限需要密码,因此恶意软件无法在不提示输入密码的情况下修改系统配置。

但在我看来,在大多数系统上,默认情况下,一旦恶意软件感染了管理员帐户,权限提升就变得微不足道——恶意软件只需要等待用户运行即可sudo

恶意软件有哪些方法可以在用户运行时获得 root 权限sudo,我们如何防范它们?

编辑:我对防止管理员帐户遭到入侵特别感兴趣;也就是说,一个具有完全 root 权限sudo的帐户(例如,典型桌面系统上的用户帐户)。

linux security sudo malware

10
推荐指数
1
解决办法
1743
查看次数

Ubuntu 15.04:在没有 sudo 的情况下从控制台挂起

多年来,我一直能够使用

dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Run Code Online (Sandbox Code Playgroud)

这不再适用于 Ubuntu 15.04,报告如下:

Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Run Code Online (Sandbox Code Playgroud)

在没有密码提示的情况下暂停的一种选择是编辑sudoers,然后sudo pm-suspend. 还有其他不涉及授予root权限的方法吗?

linux sudo dbus suspend ubuntu

10
推荐指数
1
解决办法
4569
查看次数

如何在没有 tty 的情况下模拟 shell?

我通过 SSH 维护的系统遇到了问题。当我测试需要 TTY 的命令时,它们可以工作,可能是因为 SSH 会话。在某些不清楚的情况下,没有可用的 TTY 和诸如sudo失败的命令

(sudo: sorry, you must have a tty to run sudo)
Run Code Online (Sandbox Code Playgroud)

他们在 SSH shell 中取得了成功,这使得在问题发生之前很难跟踪。由于这是一个反复出现的问题,我正在寻找一种方法来在不提供 TTY 的 shell 中测试对脚本的更改。

我正在使用带有 bash 和 ksh 的 Ubuntu 19.04、CentOS 6 和 Debian 9。

linux ssh sudo shell tty

10
推荐指数
1
解决办法
7030
查看次数