ใน Ubuntu Server ของเราเราสามารถทำการโคลนนิ่งในฐานะผู้ใช้ Nginx ใน/usr/share/nginx/www
นั้นได้ - www-data:www
ข้อมูลความเป็นเจ้าของได้รับคำเตือนดังนี้
” คำเตือน: ไม่สามารถเข้าถึง '/root/.config/git/attributes': ปฏิเสธการอนุญาต”
เรากำลังดำเนินการคำสั่งเป็น sudo -u www-data git clone <repo>.
ด้วย sudo เราได้รับคำเตือนนี้ไม่เช่นนั้นมันก็ทำงานได้ดี
เราสามารถโคลนนิ่งในฐานะผู้ใช้รูทและไม่มีปัญหา
.gitconfig ตั้งอยู่ในรูทเท่านั้นและโปรดดูเนื้อหา:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = pcgeopc@gmail.com
root@geo:~#
ใครก็ได้โปรดช่วยเราด้วย
เราลองตัวเลือกต่าง ๆ เช่นสร้างด้วยตนเอง/root/.config/
โดยตรงและเปลี่ยนสิทธิ์เป็นต้น แต่ไม่มีอะไรทำงาน ใครก็ได้โปรดช่วยฉันด้วย
โปรดดูสิ่งนี้ด้วย:
root@geo:/setup/test# ll /setup/
total 16
drwxr-xr-x 4 www-data www-data 4096 Oct 9 00:14 ./
drwxr-xr-x 24 root root 4096 Oct 9 00:14 ../
drwxr-xr-x 3 www-data www-data 4096 Oct 9 00:14 test/
root@geo:/setup/test# sudo -u www-data git clone -v git@....../test.git
Cloning into 'test'...
remote: Counting objects: 8323, done.
remote: Compressing objects: 100% (6459/6459), done.
remote: Total 8323 (delta 1543), reused 8241 (delta 1500)
Receiving objects: 100% (8323/8323), 39.85 MiB | 19.52 MiB/s, done.
Resolving deltas: 100% (1543/1543), done.
Checking connectivity... done.
warning: unable to access '/root/.config/git/attributes': Permission denied
ดูเหมือนว่ามีปัญหากับการตั้งค่า git คนใดคนหนึ่งได้โปรดแนะนำเรา
ฉันใช้การตั้งค่านี้กับ Ubuntu 14.04 เมื่อฉันตั้งค่าเดียวกันใน Ubuntu 12.04 อื่นมันทำงานได้อย่างสมบูรณ์
นอกจากนี้ฉันทำสิ่งนี้:
สร้างผู้ใช้ geopc และเพิ่มไปยังรายการ sudoers และเมื่อเราเข้าสู่ระบบในฐานะผู้ใช้ geopc และทำคำสั่งนี้sudo -u www-data git clone -v git@....../test.git
มันทำงานได้อย่างสมบูรณ์
ดังนั้นปัญหาคือเมื่อเราเข้าสู่ระบบโดยตรงในฐานะผู้ใช้รูทใน Ubuntu 14.04 และทำการโคลนตามsudo -u www-data git clone
คำเตือนนี้มา แต่มันไม่ได้อยู่ใน Ubuntu 12.04
เราใช้ git เวอร์ชั่น 1.9.1 บน Ubuntu 14.04 และเราก็อัพเกรด git เป็น 2.1.1 เหมือนกัน
/root
ข้อมูลจากการเข้าถึงไฟล์ภายใต้ หากไม่ใช่สิทธิ์ของระบบไฟล์เกินกว่าที่ควรเช่น AppArmor หรือ SELinux ควรบล็อกการเข้าถึงเว็บเซิร์ฟเวอร์ / รูท