linux 下执行 gitlab-8.9.6-0/ctlscript.sh 启动脚本 出现如下错误 主要是提示 Permission denied 无权限,网上查了很多资料都没找到解决方法 看过里面的启动脚本 当中有切换 postgres 用户 执行命令 尝试给 postgres 增加权限 但没有效果
/home/admin/tools/gitlab-8.9.6-0/apache2/scripts/ctl.sh : apache not running /home/admin/tools/gitlab-8.9.6-0/apps/gitlab/scripts/sidekiq.sh : gitlab_sidekiq not running /home/admin/tools/gitlab-8.9.6-0/apps/gitlab-workhorse/scripts/ctl.sh : gitlab_workhorse not running /home/admin/tools/gitlab-8.9.6-0/apps/gitlabci/gitlabci-multirunner/scripts/ctl.sh : gitlabci_multirunner not running /home/admin/tools/gitlab-8.9.6-0/redis/scripts/ctl.sh : redis not running /home/admin/tools/gitlab-8.9.6-0/postgresql/scripts/ctl.sh : postgresql not running bash: /home/admin/tools/gitlab-8.9.6-0/postgresql/bin/pg_ctl: Permission denied /home/admin/tools/gitlab-8.9.6-0/postgresql/scripts/ctl.sh : postgresql could not be started sh: /home/admin/tools/gitlab-8.9.6-0/redis/bin/redis-server: Permission denied /home/admin/tools/gitlab-8.9.6-0/redis/scripts/ctl.sh : redis could not be started /home/git/.bashrc: line 10: /home/admin/tools/gitlab-8.9.6-0/scripts/setenv.sh: Permission denied -bash: line 0: cd: /home/admin/tools/gitlab-8.9.6-0/apps/gitlab/htdocs: Permission denied /home/admin/tools/gitlab-8.9.6-0/apps/gitlab/scripts/sidekiq.sh : gitlab_sidekiq could not be started /home/git/.profile: line 2: /home/admin/tools/gitlab-8.9.6-0/scripts/setenv.sh: Permission denied -sh: /home/admin/tools/gitlab-8.9.6-0/apps/gitlab-workhorse/logs/workhorse.log: Permission denied /home/admin/tools/gitlab-8.9.6-0/apps/gitlab-workhorse/scripts/ctl.sh : gitlab-workhorse could not be started /home/admin/tools/gitlab-8.9.6-0/apps/gitlabci/gitlabci-multirunner/scripts/ctl.sh : gitlabci_multirunner started Syntax OK /home/admin/tools/gitlab-8.9.6-0/apache2/scripts/ctl.sh : httpd started at port 80
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到权限问题,通常需要确保执行脚本的用户对相关文件和目录有正确的访问权限。根据你的描述,错误信息显示多个服务因为权限问题无法启动,包括PostgreSQL、Redis、GitLab Sidekiq等组件。以下是一些可能的解决步骤:
检查文件所有者和权限:
gitlab-8.9.6-0
目录及其子目录下的文件的所有权是否正确。这些服务通常应该由它们各自的系统用户(如postgres
对于PostgreSQL)拥有或至少可执行。ls -l /home/admin/tools/gitlab-8.9.6-0/
检查主要目录的权限,并使用 sudo chown -R 用户名:组名 /路径/
来修改所有权,如果需要的话。chmod +x /path/to/file
命令来添加执行权限。针对PostgreSQL和Redis的具体操作:
/home/admin/tools/gitlab-8.9.6-0/postgresql/bin/pg_ctl
这个文件所属用户是postgres
,并且该用户有执行权限。/home/admin/tools/gitlab-8.9.6-0/redis/bin/redis-server
的权限,确保redis
用户(或者你配置的服务运行用户)能够执行它。GitLab相关组件:
gitlab
用户(如果有的话)对它的家目录、.bashrc
、.profile
以及工作目录有适当的读写权限。/home/admin/tools/gitlab-8.9.6-0/scripts/setenv.sh
文件,确保任何依赖此脚本的用户能正确访问它。使用sudo(谨慎操作):
sudo
,但这样做需要仔细配置sudoers文件,避免安全风险。服务管理脚本调整:
ctlscript.sh
)来启动各个服务,确保这个脚本内部正确地切换到了每个服务所需的用户上下文,并且执行了必要的权限检查和调整。查看日志:
阿里云ECS环境下的特殊考虑:
如果以上步骤仍然不能解决问题,建议查阅GitLab官方文档或社区论坛,看是否有针对特定版本的已知问题和解决方案。此外,考虑到GitLab 8.9.6是一个较旧的版本,升级到最新稳定版也可能解决一些已知的权限或其他问题。