เจ้าของ / สิทธิ์เริ่มต้นของไฟล์ในโฮมไดเร็กตอรี่ของผู้ใช้


14

ฉันมักจะเห็นผู้ใช้ที่พยายามแก้ไขปัญหาและอ่านที่ไหนสักแห่งหรือพยายามที่จะทำซ้ำchownโฮมไดเร็กตอรี่ของพวกเขาและบางครั้งก็รีเซ็ตสิทธิ์แบบเรียกซ้ำเป็นอย่างที่rwxr-xr-xคล้ายกัน

ลองนึกภาพเช่นการสังหารหมู่เจ้าของ / การอนุญาต - มีไฟล์ / ไดเรกทอรีที่สำคัญที่ต้องการการอนุญาตพิเศษหรือเป็นเจ้าของรูทเพื่อให้ระบบทำงานได้หรือไม่


1
คุณกำลังพูดถึงไฟล์วัด? ทำไมไฟล์สำคัญที่ root เป็นเจ้าของอยู่ในบ้านของผู้ใช้
mikewhething

1
@mikewhatever ฉันรู้ว่าอย่างน้อยสามไดเรกทอรีที่จะต้องเป็นเจ้าของโดยราก~/.gvfs/, และ~/.cache/gvfs-burn/ ~/.cache/dconfอาจมีมากขึ้น
ผู้บัญชาการไบต์

1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfsและไม่เคยมีปัญหาใด ๆ .... (ดูวันที่) ยังdrwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano

3
ไม่มีไฟล์ "สำคัญ" ในโฮมไดเร็กตอรี่ของผู้ใช้, ถ้ามี, มันเป็นผลมาจากการเขียนโปรแกรมที่แย่มาก, เนื่องจากผู้ใช้สามารถลบไฟล์เหล่านั้นได้โดยไม่ตั้งใจ / โดยไม่ตั้งใจในแฟลช. ไฟล์ "สำคัญ" จะถูกเก็บไว้ที่อื่น
kos

FWIW ฉันสามารถยืนยันได้ว่า ~ / .gvfs และ ~ / .cache / dconf บนระบบของฉันทั้งคู่เป็นเจ้าของโดย root ฉันรัน "sudo ls -Al" บนทั้งสองไดเรกทอรีและทั้งคู่ก็ว่างเปล่า แม้ว่าฉันจะเปลี่ยนกลุ่มและการอนุญาตอื่น ๆ สำหรับเอกสาร แต่ฉันไม่เคยเรียกใช้ chown ดังนั้นความเป็นเจ้าของรูทสำหรับสองไดเรกทอรีนี้อาจเป็นเรื่องปกติอย่างน้อยสำหรับ Ubuntu 15.04 นอกจากนี้ฉันไม่มีไดเรกทอรี ~ / .cache / gvfs-burn หรือไดเรกทอรี ipc-admin ที่กล่าวถึงโดย Byte Commander ที่เป็นเจ้าของรูท แต่ไฟล์ชื่อ - อัลฟ่าที่เป็นตัวเลขใน ~ / .dbus / session-bus เป็นของฉันไม่ใช่เจ้าของ
173876

คำตอบ:


17

ไม่มีไฟล์ใน~ที่ต้องเป็นเจ้าของโดย root

หากซอฟต์แวร์ต้องการให้ไฟล์ในโฮมไดเร็กตอรี่ของคุณเป็นของผู้ใช้รายอื่นมันเป็นข้อผิดพลาดและควรรายงานเช่นนี้

นอกเหนือจากนั้นกรณีทั่วไปนั้นเกี่ยวข้องกับซอฟต์แวร์รักษาความปลอดภัยสองรายการที่ต้องมีการอนุญาตที่ จำกัด ในไฟล์บางไฟล์กล่าวคือ:

  1. SSH
  2. จีพีจี

SSH

ดูman sshหัวข้อFILES:

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

ไฟล์อื่น ๆ เช่นauthorized_keys, known_hostsฯลฯ ควรเขียนได้โดยผู้ใช้ แต่สามารถอ่านได้ทั่วโลก

GnuPG

~/.gnupg(และเนื้อหา) ควรเข้าถึงได้โดยคุณเท่านั้น ด้วยการอนุญาตอื่น GPG จะบ่นเกี่ยวกับการอนุญาตที่ไม่ปลอดภัย


ดังนั้นสิ่งที่เกี่ยว~/.gvfs/, ~/.cache/gvfs-burn/และ~/.cache/dconf? พวกเขาเป็นเจ้าของรากและฉันคิดว่าพวกเขาควรจะเป็น
ผู้บัญชาการไบต์

2
@ByteCommander ไม่ ใช้sudoกับโปรแกรม GUI ใช่ไหม
muru

ไม่ใช่ว่าฉันจำได้ ... ฉันกำลังสร้างผู้ใช้ใหม่และตรวจสอบที่นั่น กรุณารอซักครู่.
ผู้บัญชาการไบต์

@ByteCommander ได้ดู: bugzilla.gnome.org/show_bug.cgi?id=534284
muru

1
@ByteCommander ว่าเป็นความตั้งใจแล้วsudo -iหรือsudo -Hอาจจะนำมาใช้
muru

11

โดยทั่วไปแล้วไฟล์และไดเรกทอรีในบ้านของคุณควรเป็นของคุณ
ฉันมีไฟล์ที่เป็นเจ้าของรูทแปลก ๆ ซึ่งอาจเป็นผลมาจากการใช้sudoคำสั่ง ในความเป็นจริงมีโปรแกรมที่เขียนสิ่งต่าง ๆ ภายใต้$HOME(ซึ่งเป็นโปรแกรมที่ทำงานได้ดีซึ่งต้องการสิทธิ์ผู้ใช้ขั้นสูงไม่ควรทำ --- ผลกระทบคือการรูทเป็นเจ้าของไฟล์ที่ควรเป็นของผู้ใช้)
โดยปกติการลบหรือเป็นเจ้าของอีกครั้ง (ขึ้นอยู่กับไฟล์) จะไม่สร้างปัญหาและบ่อยครั้งที่มันจะแก้ปัญหาบางอย่างเช่น.Xauthorityไฟล์ที่น่าอับอาย--- และบางครั้งหลังจากเรียกใช้sudo dconf-editorคุณจะมีสิ่งต่าง ๆ ในการกำหนดค่าที่คุณไม่สามารถแก้ไขได้อีกต่อไป

เกี่ยวกับโหมดพิเศษ:

  • แน่นอนว่าสคริปต์จะต้องสามารถเรียกใช้งานได้จริงอย่างน้อยสำหรับเจ้าของ
  • ดังนั้นต้องเป็นไดเรกทอรีด้วย (ซึ่งxหมายถึงสิทธิ์ที่จะข้าม);
  • .sshต้องเป็นdrwx------(0700) และกุญแจส่วนตัวในนั้น-rw-------(0600)
  • หากคุณมีPublicไดเรกทอรีสำหรับการแบ่งปันมันก็น่าจะเป็นdrwxr-xr-x(อ่านสิทธิ์สำหรับทุกคน) หรือdrwxrwxrwt(ด้วยสิทธิ์การเขียนและเหนียวเล็กน้อยสำหรับการเปิดใช้งานการเขียน)

... ฉันไม่สามารถคิดอะไรที่ต้องการการดูแลเป็นพิเศษอีกต่อไป


ดังนั้นสิ่งที่เกี่ยว~/.gvfs/, ~/.cache/gvfs-burn/และ~/.cache/dconf? พวกเขาเป็นเจ้าของรากและฉันคิดว่าพวกเขาควรจะเป็น
ผู้บัญชาการไบต์

@ByteCommander --- ทุกสิ่งที่ฉันเป็นเจ้าของในระบบของฉันและไม่มีอะไรผิดพลาด คุณคิดว่าทำไมพวกเขาต้องเป็นเจ้าของโดย root? ในdconfเป็นของคุณการตั้งค่าและได้รับการยกเว้นคำสั่ง / ภูตที่ไม่ยึดของพาร์ทิชันควรเปลี่ยนเป็นเจ้าของให้กับคุณ --- มิฉะนั้นมันเป็นข้อผิดพลาด ฉันแสดงความคิดเห็นในคำถามของคุณ
Rmano

ฉันได้พบอีกสองไฟล์ที่เป็นรากว่าผมไม่แน่ใจว่ามันถูกหรือผิด: ~/.dbus/session-bus/7ae519bec942595a6925fb2d5448031b-1และ/home/ipc-admin/.aptitude/configสิ่งที่มากภายใต้/home/ipc-admin/.cache/pip/wheels/, และ/home/ipc-admin/.local/share/session_migration-(null) /home/ipc-admin/.local/share/applications/mimeapps.listคุณสามารถจินตนาการได้ไหมว่าทำไมสิ่งเหล่านี้ถึงเป็นเจ้าของในระบบของฉัน
ผู้บัญชาการไบต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.