标签: su

Debian - 仅允许用户成为特定命令的 root 用户

我们有几个运行 Samba 的 Linux 机器在“本地”使用,例如每个分支都有自己的 Samba 机器来存储和共享文件。

办公室经理需要能够为其分支机构添加和删除用户,并且需要成为此操作的 root (afaik),但我想限制他们发出任何其他 root 特权命令,因为我们经常搞砸他们的身边。

我的(有限的)linux 知识告诉我这是不可能的 - 你要么是 root,要么不是 - 但我想知道是否有办法以某种方式限制允许的命令。

linux debian root samba su

9
推荐指数
1
解决办法
2722
查看次数

以用户身份使用 ssh 时使用 gnu 屏幕,但作为另一个用户使用 su

下面是尝试使用 gnu screen 时发生的情况。从本质上讲,一切正常,直到我 su 作为另一个用户。然后我得到一个Cannot open your terminal '/dev/pts/7' - please check.错误

l413:~$ ssh sbird@example.com
sbird@example.com password: 
sbird@example:~$ screen
[screen is terminating]
sbird@example:~$ su - gradplan
Password: 
gradplan@example:~$ screen 
Cannot open your terminal '/dev/pts/7' - please check.
gradplan@example:~$ 
Run Code Online (Sandbox Code Playgroud)

如何以 sbird、su 登录到 gradplan,并且仍然使用 screen?

gnu-screen su

8
推荐指数
2
解决办法
2452
查看次数

su -c 和 runuser -l -c 的区别

我需要在 shell 脚本中以特定用户身份运行一些命令行。

我发现(至少)两种方式:

su user -c 'command'

runuser -l user -c 'command'
Run Code Online (Sandbox Code Playgroud)

这两个命令之间有显着区别吗?

linux shell user su

8
推荐指数
1
解决办法
9078
查看次数

允许使用 SSH 在 Linux 上以 root 身份自动执行命令

什么是允许root使用 SSH在具有特权的远程服务器上自动执行命令或脚本的好的设置?

我知道(仅对某些选项含糊其辞)以下选项:

  • 允许通过root( PermitRootLogin)直接登录(并可能强制进行密钥验证)。
  • 配置sudo不需要密码(NOPASSWD标志 in sudoers)和 TTY(requiretty标志)。
  • 配置sudo为允许在使用特定私钥进行身份验证时执行特定命令/脚本。
  • 将脚本所有者root设置为并设置setuid 权限

但首先,我不确定这些的安全后果是什么。例如,我知道允许root登录是不受欢迎的。但我不确定,如果这不是一个过时的观点。据我所知,密码身份验证似乎是危险的。使用公钥认证,直接root登录可能没问题。对于某些选项,尤其是sudo,我什至不确定所需的配置。虽然我可以用谷歌搜索所有这些,但我可能会遗漏一些安全方面的考虑,这就是为什么我要征求专家的意见。

请注意,我要求进行服务器端设置。执行将由程序触发,而不是像 那样的工具ssh,所以我不是在寻找自动客户端身份验证之类的东西。


背景:活跃在sshStack Overflow 上的标记,这是经常出现的问题之一,是关于人们在尝试通过 SSH 在远程 Unix/Linux 上执行命令/脚本(甚至 SFTP 服务器)时尝试的各种黑客攻击服务器服务器使用root使用各种编程语言(C#、Java、VB.NET、Python 等)和 SSH 库(SSH.NET、JSch、Paramiko 等)的帐户。

人们尝试的实现通常尝试使用suor sudo。这些然后提示输入密码。因此,实现然后尝试将密码提供给命令输入。由于susudo经常需要终端仿真输入密码的提示,执行有权要求PTY。这反过来又会导致进一步的麻烦,因为与终端仿真的会话通常采用交互功能,如ANSI 转义码、分页等。足够的终端来避免分页。

举几个例子:

linux ssh root sudo su

8
推荐指数
1
解决办法
2030
查看次数

自动化“sudo su - user”命令

我想自动化

sudo su - user 
Run Code Online (Sandbox Code Playgroud)

从一个脚本。然后它应该要求输入密码。

linux sudo su

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

sudo su "username" vs. su "username"

请解释一下,sudo su "username"su "username"之间有什么区别

哪个特权更高?如果我使用sudo su "username"登录 root ,我只是一个命令的 root 用户?所以可能是脚本的开头工作正常,但其余部分却没有?那么在这种情况下,建议使用su "username",因为它具有更高的权限?请解释这两个命令之间的区别,谢谢。

sudo su

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

`su` 用于 OS X GUI

使用 OS XI wan 能够以管理员身份登录计算机,但将自己设置为系统上的另一个用户,因此我正在使用他们的权限处理他们的配置文件,查看他们的所有设置、文件并在他们的用户上下文中运行程序。

我怎样才能让它发挥作用?我知道我可以用终端来做到这一点。例如,我可以以 root 身份登录终端,然后执行操作su username,现在我是username. 如果我们在 GUI 中也有这种能力,那么我们修复东西就会容易十倍。有任何想法吗?

login su macos

5
推荐指数
1
解决办法
232
查看次数

除了路径之外,`su` 和 `su -` 之间有什么区别吗?

我看到这su -使 shell 成为su --help. 我很好奇这个su命令和普通命令有什么区别。

我知道路径似乎有所不同,是否有任何其他差异,或者这几乎是唯一的不同?

linux su

5
推荐指数
0
解决办法
2804
查看次数

sudo 的替代品

我知道我们可以使用sudo命令以超级用户/其他用户的身份执行命令/脚本。但是是否有可能sudo用户不可用/删除该实用程序本身。如果是这样,sudo除了 之外还有什么替代方案su?另外,做sudosu服务于相同的目的吗?

linux sudo su

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

有没有办法在linux中删除特定命令的root要求?如果是,怎么会?

我正在使用 Ubuntu 12.04 LTS,并且我正在尝试使特定命令

dhclient
Run Code Online (Sandbox Code Playgroud)

不需要root权限。我做了一些研究,让我相信我可以解锁一个“su”用户,它不需要任何 root 权限,但恐怕我会以这种方式破坏某些东西。

也许我在问两个不同的问题:

  1. 不需要 root 权限的所有命令都驻留在我的操作系统中的什么位置?

  2. 我可以把这个命令移到那里吗?

任何方式都适用于我的情况,老实说,我什至不确定常规用户的命令是否与其他命令区分开来。

linux root sh su

4
推荐指数
1
解决办法
2655
查看次数

标签 统计

su ×10

linux ×7

sudo ×4

root ×3

debian ×1

gnu-screen ×1

login ×1

macos ×1

samba ×1

sh ×1

shell ×1

ssh ×1

user ×1