Tôi có một máy chủ docker mà tôi muốn sao lưu. Thư mục triển khai của tôi có quyền sở hữu và quyền rất cụ thể để hỗ trợ các vùng chứa của tôi:
$ ls -lhaF /opt/docker
tổng cộng 32K
drwxr-xr-x 7 devops devops 4.0K ngày 23 tháng 8 02:34 ./
drwxr-xr-x 6 root root 4.0K 23 tháng 8 04:20 ../
drwxrwxr-x 2 devops devops 4.0K ngày 21 tháng 8 00:00 .certs/
drwxrwxr-x 2 devops devops 4.0K ngày 23 tháng 8 03:53 .scripts/
-rw-rw-r-- 1 devops devops 1,2K Ngày 21 tháng 8 01:52 docker-compose.yml
drwxrwxr-x 4 1000 1000 4.0K Ngày 21 tháng 8 02:05 minecraft/
drwxrwxr-x 4 devops devops 4.0K Ngày 20 tháng 8 23:38 lỗ hổng/
drwx------ 19 70 70 4.0K ngày 19 tháng 8 01:31 postgres/
Sau đó tôi cố gắng nén thư mục này bằng lệnh sau. Từ những gì tôi đã đọc, việc bảo vệ quyền/quyền sở hữu tệp yêu cầu chạy hắc ín
với quyền root/sudo:
$ sudo tar -czpf "/tmp/server-backup.tar.gz" --directory="/opt/docker" .
Lệnh này nén thư mục nhưng kiểm tra .tar.gz nó cho thấy rằng quyền sở hữu của tất cả các thư mục hiện là root:
$ tar -tvf /tmp/server-backup.tar.gz
drwxr-xr-x root/root 0 2021-08-23 12:10 ./
drwxr-xr-x root/root 0 2021-08-23 12:10 ./minecraft/
-rw-r--r-- root/root 2 2021-08-23 12:10 ./minecraft/whitelist.json
-rw-r--r-- root/root 111 2021-08-23 12:10 ./minecraft/usercache.json
-rw-r--r-- root/root 1204 2021-08-23 12:10 ./minecraft/server.properties
-rw-r--r-- root/root 43626592 2021-08-23 12:10 ./minecraft/minecraft_server.1.17.1.jar
-rw-r--r-- root/root 68 2021-08-23 12:10 ./minecraft/eula.txt
-rw-r--r-- root/root 2 2021-08-23 12:10 ./minecraft/banned-players.json
-rw-r--r-- root/root 2 2021-08-23 12:10 ./minecraft/banned-ips.json
# -- Các tập tin minecraft khác
drwxr-xr-x root/root 0 2021-08-23 12:10 ./.certs/
# -- Nội dung thư mục chứng chỉ đã được biên tập lại
drwx------ root/root 0 2021-08-23 12:10 ./postgres/
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_subtrans/
-rw------- root/root 8192 2021-08-23 12:10 ./postgres/pg_subtrans/0000
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_multixact/
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_multixact/offsets/
-rw------- root/root 8192 2021-08-23 12:10 ./postgres/pg_multixact/offsets/0000
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_multixact/members/
-rw------- root/root 8192 2021-08-23 12:10 ./postgres/pg_multixact/members/0000
drwx------ root/root 0 2021-08-23 12:10 ./postgres/pg_xact/
-rw------- root/root 8192 2021-08-23 12:10 ./postgres/pg_xact/0000
# -- Các tập tin postgres khác
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/
-rw-r--r-- root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/custom.list
-rw-r--r-- root/root 5201920 2021-08-23 12:10 ./pihole/etc-pihole/gravity.db
-rw-r--r-- root/root 485 2021-08-23 12:10 ./pihole/etc-pihole/setupVars.conf
-rw-r--r-- root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/setupVars.conf.update.bak
-rw-r--r-- root/root 1812161 2021-08-23 12:10 ./pihole/etc-pihole/list.1.raw.githubusercontent.com.domains
-rw-r--r-- root/root 73728 2021-08-23 12:10 ./pihole/etc-pihole/pihole-FTL.db
-rw-r--r-- root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/pihole-FTL.conf
-rw-r--r-- root/root 37 2021-08-23 12:10 ./pihole/etc-pihole/local.list
-rw-r--r-- root/root 95 2021-08-23 12:10 ./pihole/etc-pihole/list.1.raw.githubusercontent.com.domains.sha1
-rw-r--r-- root/root 20 2021-08-23 12:10 ./pihole/etc-pihole/localbranches
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/etc-pihole/migration_backup/
-rw-r--r-- root/root 65 2021-08-23 12:10 ./pihole/etc-pihole/migration_backup/adlists.list
-rw-r--r-- root/root 618 2021-08-23 12:10 ./pihole/etc-pihole/dns-servers.conf
-rw-r--r-- root/root 20 2021-08-23 12:10 ./pihole/etc-pihole/GitHubVersions
-rw-r--r-- root/root 44 2021-08-23 12:10 ./pihole/etc-pihole/localversions
drwxr-xr-x root/root 0 2021-08-23 12:10 ./pihole/etc-dnsmasq.d/
-rw-r--r-- root/root 1475 2021-08-23 12:10 ./pihole/etc-dnsmasq.d/01-pihole.conf
drwxr-xr-x root/root 0 2021-08-23 12:10 ./.scripts/
-rwxr-xr-x root/root 1638 2021-08-23 12:10 ./.scripts/create-backup.sh
-rwxr-xr-x root/root 511 2021-08-23 12:10 ./.scripts/new-cert-pihole.sh
-rwxr-xr-x root/root 345 2021-08-23 12:10 ./.scripts/fix-permissions.sh
-rw-r--r-- root/root 1170 2021-08-23 12:10 ./docker-compose.yml
Nếu tôi cố giải nén tệp .tar.gz, chúng tôi có thể xác nhận rằng tất cả quyền sở hữu đã bị mất:
$ sudo mkdir /tmp/sao lưu máy chủ
$ sudo tar -xzpf /tmp/server-backup.tar.gz --directory=/tmp/server-backup
$ ls -lhaF /tmp/sao lưu máy chủ
tổng cộng 32K
drwxr-xr-x 7 root root 4.0K 23 tháng 8 12:10 ./
drwxrwxrwt 13 root root 4.0K 23 tháng 8 12:16 ../
drwxr-xr-x 2 gốc gốc 4.0K ngày 23 tháng 8 12:10 .certs/
drwxr-xr-x 2 gốc gốc 4.0K ngày 23 tháng 8 12:10 .scripts/
-rw-r--r-- 1 root root 1.2K 23 tháng 8 12:10 docker-compose.yml
drwxr-xr-x 4 root root 4.0K 23 tháng 8 12:10 minecraft/
drwxr-xr-x 4 root root 4.0K 23 tháng 8 12:10 pihole/
drwx------ 19 gốc gốc 4.0K ngày 23 tháng 8 12:10 postgres/
Từ những gì tôi đã tìm thấy, bảo vệ quyền sở hữu và quyền được coi là hành vi mặc định cho hắc ín
. Có điều gì tôi đang thiếu ở đây? Tôi muốn có thể sao lưu trạng thái máy chủ của mình mà không làm xáo trộn quyền sở hữu tệp nhạy cảm theo yêu cầu của một số vùng chứa docker mà tôi chạy.
Thông tin hệ thống:
$ lsb_release -d
Mô tả: Ubuntu 20.04.3 LTS
$ uname -a
Linux rpi-1 5.4.0-1042-raspi #46-Ubuntu SMP PREEMPT Thứ Sáu ngày 30 tháng 7 00:35:40 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux