温馨提示×

centos golang配置权限怎么设

小樊
45
2026-10-17 11:21:30
栏目: 编程语言

在 CentOS 上配置 Golang 环境及权限,通常分为 安装权限、目录权限、普通用户使用权限 几部分。下面按常见场景说明。


一、Golang 安装位置与权限(推荐方式)

1. 官方二进制安装(最常见)

# 下载
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz

# 解压到系统目录
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

默认权限:

  • /usr/local/go → root:root
  • 普通用户 只读,这是正确做法 ✅

二、环境变量配置(用户级,不污染系统)

普通用户(推荐)

vim ~/.bashrc

添加:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

生效:

source ~/.bashrc

✅ 这种方式 不需要 root 权限


三、GOPATH / 项目目录权限

推荐结构

~/go
~/project

确保是你自己:

chown -R $USER:$USER ~/go
chmod -R 755 ~/go

❌ 不要这样做:

chmod 777 ~/go

四、使用 sudo 运行 go(不推荐但说明)

如果你 必须 用 root:

sudo /usr/local/go/bin/go version

但建议:

sudo chown -R $USER:$USER /usr/local/go

⚠️ 不推荐,影响系统安全


五、SELinux 相关(CentOS 特有)

如果报权限错误:

Permission denied

检查:

getenforce

临时关闭测试:

sudo setenforce 0

正式解决(允许执行):

sudo chcon -t bin_t /usr/local/go/bin/go

六、防火墙 / 端口(如 web 服务)

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

七、推荐权限总结

项目 权限
/usr/local/go root 只读
GOPATH 当前用户
项目目录 当前用户
go 命令 所有人可执行

如果你是指:

  • ✅ 普通用户不能用 go
  • ✅ go build 报错 permission denied
  • ✅ systemd 服务跑 go 程序权限

可以告诉我 具体报错信息,我可以直接帮你改。

0 踩