Yum (Yellowdog Updater Modified) 是RHEL/CentOS/Fedora等Linux发行版中的包管理器,合理的权限设置对于系统安全和稳定至关重要。
yum命令执行权限:
/usr/bin/yum
-rwxr-xr-x
(755)root:root
配置文件权限:
/etc/yum.conf
/etc/yum.repos.d/*.repo
-rw-r--r--
(644)root:root
默认情况下,只有root用户才能使用yum安装/更新/删除软件包:
# 检查yum命令权限
ls -l /usr/bin/yum
如果需要允许特定用户使用yum而不授予root权限:
方法一:通过sudo授权
# 编辑sudoers文件
visudo
# 添加以下内容允许特定用户执行yum命令
username ALL=(root) NOPASSWD: /usr/bin/yum
方法二:创建yum用户组
# 创建yumadmin组
groupadd yumadmin
# 将用户添加到组
usermod -aG yumadmin username
# 设置yum命令权限
chown root:yumadmin /usr/bin/yum
chmod 750 /usr/bin/yum
确保仓库配置文件不被普通用户修改:
chmod 644 /etc/yum.repos.d/*.repo
chown root:root /etc/yum.repos.d/*.repo
# 默认缓存目录
/var/cache/yum
# 建议权限
chmod 755 /var/cache/yum
chown root:root /var/cache/yum
Error: This command has to be run under the root user.
解决方案:使用sudo或以root用户身份运行yum命令。
Repository 'xxx' is missing name in configuration, using id
解决方案:检查仓库文件权限并恢复默认配置。
Cannot find a valid baseurl for repo: base
解决方案:清理缓存并检查网络连接:
sudo yum clean all
sudo yum makecache
使用Yum插件增强安全:
yum-plugin-security
:只安装安全更新yum-plugin-protectbase
:保护基础仓库不被覆盖配置GPG检查:
确保/etc/yum.conf
中设置了:
gpgcheck=1
审计yum使用:
# 查看yum历史记录
yum history
通过合理配置yum权限,可以在保证系统安全的同时,满足日常软件包管理需求。