【已解决】Authentication required to refresh system repositories等类似问题

本文介绍了在使用Xrdp远程登录时,如何解决因权限问题导致的系统仓库刷新和网络控制受限。作者指导读者如何通过修改系统策略文件和调整权限来允许特定用户操作,如使用`polkit`和`sudo`命令。

在这里插入图片描述
本文作者: slience_me


已解决

1. Authentication required to refresh system repositories

在这里插入图片描述

cd /etc/polkit-1/localauthority/50-local.d/
vi allow-packagekit.pkla

内容如下:
[Allow Refresh Repository all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=no
ResultInactive=no
ResultActive=yes

2. System policy prevents control of network connections

cd /etc/polkit-1/localauthority/50-local.d/
vi allow-network.pkla

内容如下:
[Allow Network]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.network-control
ResultAny=no
ResultInactive=no
ResultActive=yes

3. 可能遇到的问题

注意:你需要使用root权限的用户进行操作

su root
输入密码

但是,如果这个文件夹归属root,但是系统没有root用户,只有ubuntu作为超级管理员
在这里插入图片描述
在这里插入图片描述
这种情况,你没有办法打开文件,如何处理:只能修改文件权限

sudo chmod 777 localauthority
cd localauthority
cd ..
sudo vim ..pkla
输入
:wq

参考文献:

  1. xrdp 远程登录需要输入很多次密码
  2. authentication required to refresh system repositories
  3. 系统策略防止控制网络连接
在管理系统服务或单元文件时,如果提示 `Authentication required to manage system services or unit files. Authenticating as user web1`,这表明当前用户没有足够的权限来执行与系统服务相关的操作。`systemctl` 命令依赖于 `polkit` 或 `sudo` 来进行权限提升,因此需要进行身份验证。 ### 权限验证与解决方法 当提示需要身份验证时,可以输入当前用户的密码或具有管理员权限的用户(如 `root`)的密码。例如,在以下场景中: ```bash ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to manage system services or units. Authenticating as: root Password: # 输入 root 用户密码 ``` 如果当前用户不具备管理员权限,则需要切换到 `root` 用户或使用 `sudo` 来执行命令[^3]。 ### 使用 `sudo` 提升权限 为了绕过身份验证问题,可以使用 `sudo` 来执行需要权限的命令。例如: ```bash sudo systemctl restart mysql.service sudo systemctl disable firewalld ``` 通过 `sudo`,当前用户可以以管理员身份运行命令,而无需直接切换到 `root` 用户。此方法适用于大多数需要权限的操作,如启动、停止、重启服务或管理单元文件[^3]。 ### 验证用户权限 如果当前用户未被配置为具有管理员权限,则无法通过身份验证。可以通过以下命令检查当前用户是否具备 `sudo` 权限: ```bash groups ``` 该命令将列出当前用户所属的用户组。如果输出中包含 `wheel`(在 CentOS/RHEL 系统中)或 `sudo`(在 Debian/Ubuntu 系统中),则表示当前用户具有管理员权限。 ### 修改用户权限 如果当前用户不具有管理员权限,可以将用户添加到相应的用户组中。例如,在 CentOS/RHEL 系统中: ```bash usermod -aG wheel web1 ``` 在 Debian/Ubuntu 系统中: ```bash usermod -aG sudo web1 ``` 完成此操作后,当前用户将能够使用 `sudo` 来执行需要权限的命令。 ### 验证服务状态 在执行完权限验证或使用 `sudo` 后,可以使用以下命令验证服务状态: ```bash systemctl status mysql.service systemctl is-enabled firewalld.service ``` 这些命令将显示服务的当前状态,包括是否正在运行或是否已禁用开机自启。 ### 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

slience_me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值