在 Fedora 18 机器上,我作为普通用户在安装过程中创建了以下 SELinux 上下文:
$ sestatus
SELinux status: enabled
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Run Code Online (Sandbox Code Playgroud)
和
$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Run Code Online (Sandbox Code Playgroud)
我想使用受限的 selinux 角色运行一个程序user_r,而不是当前的角色unconfined_r,因此我使用受限的 SELinux 用户创建一个新用户user_r:
# useradd -MN -Z user_u johndoe
# echo 'fubar' | passwd johndoe --stdin
Run Code Online (Sandbox Code Playgroud)
现在,我打开一个新的 tty 并johndoe使用登录agetty。它抱怨/home/johndoe不存在,但本质上,它让我登录。SELinux 上下文:
$ id -Z
user_u:user_r:user_t:s0
Run Code Online (Sandbox Code Playgroud)
user_u:user_r:user_t是完美的,也是我想要的。但我想在已经作为unconfined_u而不是作为新登录运行的脚本中实现这一点。我尝试过 …
最佳实践是删除“root”通过 ssh 登录的能力。但是,我需要运行一些 Ansible 命令,并且当前通过名为“amdhske”的用户进行连接,然后将此用户设置为不需要输入密码即可执行操作,sudo否则 Ansible 需要保留用户的密码。
那么在这种情况下禁用 root 访问有什么意义呢?任何通过 ssh 进入“amdhske”用户帐户的攻击者都可以彻底sudo退出服务器。我猜这里唯一的优点是,通过选择一个冗长的随机用户名,攻击者几乎不可能知道它,而“root”是“root”的默认用户名。难道还有其他原因吗?
我想从脚本重新启动我的 Linux。该脚本不会以 root 身份运行。
使用sudo reboot产品
sudo:抱歉,你必须有一个 tty 才能运行 sudo。
一个平原reboot给出了错误
需要root
我知道我可以编辑我的sudoers文件,但有没有更简单的方法?
我有一些用户在 Ubuntu 和 Arch Linux systemd 系统上以 linger 模式运行。这意味着,即使用户没有登录系统,他们的计时器也可以运行。作为 root 用户,我如何才能看到所有活动的计时器,包括所有用户的计时器?
systemctl list-timers会给我系统计时器。如果我以用户身份登录,systemctl --user list-timers则会向我提供该用户的计时器。但是,如果我跑步sudo -u anotheruser systemctl --user list-timers,那么我会得到Failed to connect to bus: No such file or directory。
我正在尝试通过 SSH 重置 root 密码,使用 sudo,因为直接以 root 身份登录被禁用。
我正在使用以下命令重置密码:
sshpass -f .pass ssh kj@server2 'bash -s' < password.sh
Run Code Online (Sandbox Code Playgroud)
运行此程序时,系统提示我输入 sudo 密码,但失败了。
password.sh有以下内容。
MYPASS=abcd@123
echo $MYPASS | sudo -kS bash -c 'echo passwd | passwd root --stdin'
Run Code Online (Sandbox Code Playgroud)
如何使用 SSH 和 sudo 成功重置密码?
如果我想查看 root 的 bash 历史记录,为什么我不能直接运行sudo history?当我这样做时,它说找不到命令历史记录,但是如果我在没有 sudo 的情况下运行它,它运行良好。
编辑:这是一个重复的答案,但不是链接的重复问题。提出任何一个问题的人都不知道它是一个 shell 内置命令,而不是一个二进制命令。
我为学生运行了一小组 macOS 机器(比如 20 台),它们都需要使用自制软件和其他软件包和应用程序等进行设置。我正在编写一个 bash 脚本来自动安装每台计算机上所需的所有东西。我将使用的一些命令需要以 root 身份运行,但不是大多数。
我想知道在脚本中单独 sudo 这些命令中的每一个是否会更好,或者将 sudo 排除在脚本之外并 sudo 整个脚本。我想知道哪一个更安全(安全方面),更适合我的情况。我不想在整个脚本中都被提示输入密码,但我也不想以 root 身份运行脚本中的每一行,因为它不安全。
我的问题是如何配置 systemd(?) 以在我忘记键入 sudo 时停止打开这个烦人的弹出窗口。只需给我一个基于文本的 sudo 提示或显示错误,我就可以快速纠正错误。
这是 Arch Linux,最新版本(systemd 238.133)。
首先,我想提一下我正在运行 Manjaro Linux。今天,当我想安装一个新程序时,尝试使用 sudo pacman 时出现以下错误:
sudo: account validation failure, is your account locked?
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了一下,发现了这个问题的一些可能原因,但我找到的解决方案似乎都不能解决我的问题。到目前为止我尝试过的:
另一件可能值得一提的事情是,我曾经使用指纹读取器对 sudo 进行身份验证。我使用 fprintd 来做到这一点。我认为这可能是错误的原因,所以我也删除了 fprintd,但这并没有解决问题。有谁知道我该如何解决这个问题?
很长一段时间以来,我的 Raspbian 安装在使用时不再询问我的密码sudo,这是一个安全问题,因为它可以远程访问。
我在谷歌上搜索了如何启用它,但我看到的唯一的东西就是如何禁用它。
登录后使用ssh:
pi@WS-RPI-10666:~ $ sudo echo a
a
pi@WS-RPI-10666:~ $
Run Code Online (Sandbox Code Playgroud)
问候,
明泰克