GitLabバックアップとリストアにおける権限の問題

1360 ワード

CentOSでGitLabのバックアップ(Backup)とリストア(Restore)を行った場合、それぞれ権限に関する問題が発生しました.システムバージョン:CentOS 6.5 GitLabバージョン:gitlab-ce-8.0.2-ce.1.el6.x86_64
バックアップ時に実行
gitlab-rake gitlab:backup:create

エラーメッセージが表示される
Errno::EACCES: Permission denied @ dir_s_mkdir - /var/opt/gitlab/backups

mkdirを実行する権限がありません.
Restoreでは、
gitlab-rake gitlab:backup:restore BACKUP=1393513186

このうち1393513186はbackupのタイムスタンプ番号でgitlab_にありますbackup.tarファイルのファイル名が表示されます.
また大量のmkdirに遭遇し、ファイル/フォルダエラーが見つかりません.
私はrootユーザーでログインしています.レノボは関連するフォルダ権限に問題があるかもしれません.backupsは私がmkdirコマンドを使用して作成したもので、特に権限が割り当てられていないのでls-alコマンドを使用してbackupsフォルダの権限を表示します.検出値は
drwxr-xr-x. 2 root root 4096 2  16 10:08 backups

実際の操作を実行していると判断したgitlab関連ユーザ:gitは,十分な権限を得ていない.コマンドを順に実行します.
root@myserver:~# mkdir /var/opt/gitlab/backups

root@myserver:~# chown git /var/opt/gitlab/backups

root@myserver:~# chmod 700 /var/opt/gitlab/backups

筆者は以前rm-rf backupsコマンドを使用してbackupsフォルダ全体を削除したので、再度mkdirする必要があります.このフォルダが既に存在する場合は、mkdirは必要ありません.
以上のコマンドの実行が完了すると、再度ls-alはbackupsの権限が変更されたことを発見しました.
drwx------. 2 git root 4096 2  16 10:18 backups

backupまたはrestoreを再実行すると、正常に動作し、問題が解決します.
Reference:issue644 - Permissions issue when creating backups