在 Linux 里用 yum 遇到“权限问题”,常见就那么几类,我按最常见 → 不常见但容易踩坑给你说,基本对号入座就能解决。
yum 安装/卸载/更新 必须 root
$ yum install nginx
Loaded plugins: fastestmirror
You need to be root to perform this command.
sudo yum install xxx
或
su -
yum install xxx
✅ 这是正常设计,不是 bug
sudo yum update
xxx is not in the sudoers file
用 root 执行:
visudo
加上:
你的用户名 ALL=(ALL) ALL
或者临时给 sudo(不推荐长期):
usermod -aG wheel 用户名
[Errno 13] Permission denied: '/var/cache/yum/...'
sudo chown -R root:root /var/cache/yum
sudo chmod -R 755 /var/cache/yum
sudo chown -R root:root /var/lib/yum
sudo chmod -R 755 /var/lib/yum
⚠️ 不要整个 /var 乱改权限
Permission denied: '/home/xxx/.yum/...'
yum.conf 里被改了:
cachedir=/home/xxx/.yum
改回默认:
sudo vi /etc/yum.conf
改成:
cachedir=/var/cache/yum/$basearch/$releasever
权限看起来是对的,但还是报 denied
getenforce
如果是 Enforcing:
sudo setenforce 0
yum update
✅ 能用了 → 就是 SELinux
sudo restorecon -Rv /var/cache/yum
sudo restorecon -Rv /var/lib/yum
df -h
df -i
如果 100%:
sudo yum clean all
sudo yum makecache
如果报 403 / 404,那是仓库权限,不是你系统权限。
whoami
sudo -l
ls -ld /var/cache/yum /var/lib/yum
getenforce
df -h
如果你愿意,把具体报错原样贴出来(前 10 行就行),我可以直接告诉你是哪一类、哪条命令能修。