คำถามติดแท็ก permissions

สิทธิ์เป็นวิธี Unix ในการควบคุมการเข้าถึงทรัพยากรเช่นไฟล์ไดเรกทอรีและอุปกรณ์และอาจมีการระบุสำหรับเจ้าของกลุ่มหรือผู้ใช้ทั้งหมด

2
chmod -u ทำอะไรได้บ้าง
โดยอุบัติเหตุฉันวิ่งและมันออกทั้งหมดของสิทธิ์ที่ฉันมีในchmod -u filenamefilename หน้าคนไม่ได้อ้างอิง-uตัวเลือก การทดลองฉันสามารถสรุปได้ว่ามันไม่ได้ลบสิทธิ์ทั้งหมด แต่เพียงแค่อ่านและดำเนินการเข้าถึงโดยปล่อยให้การเข้าถึงการเขียนยังคงอยู่ แล้วมันทำอะไรกันแน่ ข้อสรุปข้างต้นของฉันผิดฉันคิดว่าการลบสิทธิ์ที่เจ้าของมีจากทุกหมวดหมู่คืออะไร ฉันคิดว่าพฤติกรรมนั้นคล้ายคลึงกับa=uแต่มีเพียง-แทนที่จะเป็น=และaสามารถถูกทิ้งได้เช่นเดียวกับที่a+xทำได้

1
อนุญาตให้แขกบางคนดำเนินการคำสั่งบางอย่าง
ฉันต้องการสร้างผู้ใช้ใหม่บนโฮสต์ Debian / Ubuntu บางแห่งที่สามารถอัปเดตเซิร์ฟเวอร์โดยใช้คำสั่งapt-get updateและapt-get dist-upgradeแต่ฉันไม่ต้องการให้พวกเขาเข้าถึง sudo อย่างเต็มที่เพื่อให้สามารถทำสิ่งอื่นได้ เป็นไปได้ไหม อาจมีวิธีการสร้างสคริปต์ที่ไม่สามารถแก้ไข แต่สามารถดำเนินการได้ซึ่งจะได้รับการดำเนินการในฐานะผู้ใช้รูท?

2
อะไรคือวิธีที่แตกต่างในการตั้งค่าการอนุญาตไฟล์ ฯลฯ ใน gnu / linux
ใน Unix นานมาแล้วฉันเรียนรู้เกี่ยวกับchmod: วิธีดั้งเดิมในการตั้งค่าการอนุญาตบน Unix (และเพื่อให้โปรแกรมได้รับสิทธิพิเศษโดยใช้ setuid, setgid) ฉันเพิ่งค้นพบคำสั่งใหม่บางอย่างบน GNU / Linux: setfaclขยายแบบดั้งเดิมugo:rwxบิตและบิตของtchmod setcapช่วยให้การควบคุมครีบเมล็ดมากกว่าบิตug:schmod chattr อนุญาตให้ใช้การควบคุมอื่น ๆ (รวมกันเล็กน้อย) ของไฟล์ มีคนอื่นอีกไหม?

4
bash: / dev / stderr: การอนุญาตถูกปฏิเสธ
หลังจากอัปเกรดเป็นเวอร์ชั่นใหม่แล้วbashสคริปต์ของฉันก็เริ่มพ่นข้อผิดพลาด: bash: /dev/stderr: Permission denied ในเวอร์ชันก่อนหน้า Bash จะจำชื่อไฟล์เหล่านั้นได้ภายใน (ซึ่งเป็นสาเหตุที่คำถามนี้ไม่ซ้ำกับของไฟล์นี้ ) และทำสิ่งที่ถูกต้อง (tm)อย่างไรก็ตามสิ่งนี้หยุดทำงานทันที ฉันจะทำอย่างไรจึงจะสามารถเรียกใช้สคริปต์ของฉันอีกครั้งได้สำเร็จ ฉันได้ลองเพิ่มผู้ใช้ที่เรียกใช้สคริปต์ไปยังกลุ่มttyแต่มันก็ไม่ได้ทำให้แตกต่าง (แม้หลังจากออกจากระบบแล้ว) ฉันสามารถทำซ้ำนี้ในบรรทัดคำสั่งโดยไม่มีปัญหา: $ echo test > /dev/stdout bash: /dev/stdout: Permission denied $ echo test > /dev/stderr bash: /dev/stderr: Permission denied $ ls -l /dev/stdout /dev/stderr lrwxrwxrwx 1 root root 15 May 13 02:04 /dev/stderr -> /proc/self/fd/2 …

1
GitKraken ไม่เริ่มทำงานอีกต่อไปบน Ubuntu 18.04
เมื่อฉันเปิด Ubuntu เมื่อวันที่ 18.04 และต้องการเริ่ม GitKraken มันไม่ทำงาน หลังจากฉันคลิกที่ไอคอนของมันฉันเห็นว่ากระบวนการพยายามเริ่มต้นที่มุมซ้ายบน (ถัดจาก "กิจกรรม") แต่หลังจากผ่านไปไม่กี่วินาทีกระบวนการดูเหมือนจะตายและไม่มีอะไรเกิดขึ้น การพยายามเรียกใช้ GitKraken จากคอนโซลล้มเหลวด้วยข้อความสองข้อความต่อไปนี้: /snap/gitkraken/58/bin/desktop-launch: line 23: $HOME/.config/user-dirs.dirs: Permission denied ln: failed to create symbolic link '$HOME/snap/gitkraken/58/.config/gtk-2.0/gtkfilechooser.ini': File exists น่าเสียดายทักษะ Linux ของฉันมี จำกัด เกินไปที่จะแก้ปัญหานี้ สิ่งเดียวที่ฉันได้ลองก็chmod 777 $HOME/.config/user-dirs.dirsเพราะPermossion deniedแต่นั่นก็ไม่ได้ช่วยอะไร แก้ไข: เป็น terdon แนะนำในความคิดเห็นของเขาฉันได้ทำls -ld ~/.config/user-dirs.dirsและนี่คือผลลัพธ์: -rwxrwxrwx 1 myusername myusername 633 Mai …

1
หาก suid bit ไม่มีผลกระทบกับไดเร็กทอรีและ sticky bit ไม่มีผลกับไฟล์ทำไมถึงไม่รวมกันเป็นหนึ่งบิต
สิ่งนี้จะช่วยประหยัดหนึ่งบิตต่อไฟล์หรือมีช่องว่างภายในที่จำเป็นต้องใช้ต่อไปหรือไม่? และแม้ว่าจะมีช่องว่างภายในทำไมไม่รวมเข้าด้วยกันและใช้บิตพิเศษสำหรับคุณลักษณะใหม่

1
ให้สิทธิ์ผู้ใช้เฉพาะกับอุปกรณ์โดยไม่ให้สิทธิ์การเข้าถึงแก่ผู้ใช้รายอื่น
/dev/sdbฉันได้อ่านบัตรติดอยู่บน สิ่งที่ฉันทำคือให้สิทธิ์ทั้งหมดแก่เจ้าของกลุ่มและส่วนที่เหลือของโลกโดยใช้: sudo chmod 777 /dev/sdb ฉันสามารถใช้ชุดค่าผสมอื่นช่วยให้เจ้าของ (ฉัน) ใช้เครื่องอ่านการ์ดได้หรือไม่ มีบัญชีผู้ใช้เดียวเท่านั้น

2
ให้สิทธิ์การอ่าน / เขียนแก่ผู้ใช้ในไดเรกทอรีเดียวเท่านั้น
ฉันใช้เซิร์ฟเวอร์และฉันต้องให้สิทธิ์การอ่าน / เขียนในไดเรกทอรีหนึ่งแก่ผู้ใช้รายเดียว ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: sudo adduser abcd sudo groupadd abcdefg chown -R .abcdefg /var/www/allowfolder chmod -R g+rw /var/www/allowfolder usermod -a -G comments abcd ข้างต้นดูเหมือนว่าจะใช้งานได้ แต่ช่วยให้ผู้ใช้สามารถเข้าถึงส่วนที่เหลือของเซิร์ฟเวอร์แบบอ่านอย่างเดียว ฉันจะตั้งค่าการอนุญาตเพื่อให้ผู้ใช้สามารถอ่านและเขียนไปยังโฟลเดอร์เฉพาะได้อย่างไร mysqlผู้ใช้ยังจะสามารถที่จะเรียกใช้โปรแกรมเช่น

4
กำหนดสิทธิ์การอ่านและเขียนไปยังโฟลเดอร์และไดเรกทอรีหลักทั้งหมด
ฉันจำเป็นต้องตั้งค่าการอ่านและเขียนสิทธิ์สำหรับrootผู้ใช้ไปยังไดเรกทอรีและทุกโฟลเดอร์หลักจนถึงsubfolderNroot ฉันสามารถทำได้ด้วยมือ: $ sudo chmod +rx /root/subfolder1/subfolder2/subfolderN $ sudo chmod +rx /root/subfolder1/subfolder2 $ sudo chmod +rx /root/subfolder1 $ sudo chmod +rx /root แต่ถ้าNใหญ่ฉันก็เหนื่อย จะทำอย่างไรโดยอัตโนมัติด้วยคำสั่งเดียว?

3
DAC (สิทธิ์ของไฟล์), ACL และ MAC (SELinux) มีบทบาทอะไรในการรักษาความปลอดภัยของไฟล์ Linux?
ฉันต้องการชี้แจง / ยืนยัน / ทำอย่างละเอียดเกี่ยวกับบทบาทที่แตกต่างกันของ DAC, ACL และ MAC ในการรักษาความปลอดภัยไฟล์ Linux หลังจากการวิจัยจากเอกสารประกอบนี่เป็นความเข้าใจของฉันเกี่ยวกับสแต็ก: SELinux ต้องอนุญาตให้คุณเข้าถึงวัตถุไฟล์ หาก ACL ของไฟล์ (เช่นsetfacl, getfaclการติด ACL) ชัดเจนให้ / ปฏิเสธการเข้าถึงวัตถุแล้วการประมวลผลต่อไปไม่จำเป็นต้องมี มิฉะนั้นจะขึ้นอยู่กับการอนุญาตของไฟล์ (โมเดล rwxrwxrwx DAC) ฉันพลาดอะไรไปรึเปล่า? มีสถานการณ์ที่นี่ไม่ใช่กรณีหรือไม่

3
ทำไม chmod + w ไม่ให้สิทธิ์การเขียนแก่ผู้อื่น (o)
เมื่อฉันเรียกchmod +w filenameมันไม่ได้ให้สิทธิ์ในการเขียนไปotherมันก็จะช่วยให้เขียนได้รับอนุญาตไปและusergroup หลังจากรันคำสั่งนี้ chmod +w testfile.txt วิ่งls -l testfile.txtพิมพ์ -rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt แต่ในกรณีของ+rและ+xมันทำงานอย่างถูกต้อง chmod ugo+w filenameฉันไม่ต้องการที่จะใช้

1
ls -l vs ls -lL
ฉันรู้ว่าสิ่งนี้ดูเหมือนซ้ำซ้อน แต่คำถามที่ถามไปก่อนหน้านี้ไม่ตอบคำถามของฉัน ดังนั้นในเชลล์ฉันไปที่/homeไดเรกทอรีและสร้างไดเรกทอรีมีเรียกมันplay จากนั้นฉันไปที่ไดเรกทอรีนี้/home/playและสร้างไฟล์สองไฟล์อันแรกคือไฟล์ข้อความที่สองคือลิงก์สัญลักษณ์ไปยังเทอร์มินัลที่เรียกว่าtty ตอนนี้ถ้าฉันใช้ls -lฉันจะได้รับผลลัพธ์ต่อไปนี้ ฉันจะเอาls -lLมันไปที่ไหน ความแตกต่างนี้ควรจะหมายถึงอะไร? เครื่องหมายคำถามหมายถึงอะไร

2
อนุญาตให้เจ้าของสร้าง & อ่านไฟล์ แต่ไม่แก้ไขหรือลบ
ฉันต้องการให้สิทธิ์ผู้ใช้ในการสร้างและอ่านไฟล์ในไดเรกทอรีเฉพาะ แต่ไม่สามารถแก้ไขหรือลบไฟล์ได้ หากผู้ใช้สามารถต่อท้ายไฟล์ที่ใช้ได้ แต่ฉันไม่ต้องการ นี่คือบน Ubuntu Linux ฉันคิดว่ามันเป็นไปไม่ได้ด้วยสิทธิ์ของไฟล์ Unix มาตรฐาน แต่อาจเป็นไปได้ที่ใช้ ACL ผู้ใช้จะเชื่อมต่อโดยใช้ SFTP เสมอดังนั้นหากมีวิธีการควบคุมสิ่งนี้ภายใน SFTP (ตรงข้ามกับสิทธิ์ของระบบปฏิบัติการ) ที่จะใช้ได้ เพื่อให้ชัดเจนอย่างยิ่งฉันต้องการสิ่งต่อไปนี้: echo hello> test # สำเร็จเนื่องจากไม่มีการทดสอบและอนุญาตให้สร้างได้ echo hello >> test # สามารถประสบความสำเร็จหรือล้มเหลวขึ้นอยู่กับว่าอนุญาตให้ผนวกท้ายได้หรือไม่ echo hello2> test # ล้มเหลวเนื่องจากมีการทดสอบอยู่แล้วและไม่อนุญาตให้แก้ไข cat test # สำเร็จเนื่องจากการอ่านได้รับอนุญาต การทดสอบ rm # ล้มเหลวเนื่องจากไม่อนุญาตให้ลบ หากคุณสงสัยว่าทำไมฉันถึงต้องการทำเช่นนี้มันจะทำให้ระบบสำรองข้อมูลของ Duplicati ทนทานต่อ Ransomware
17 linux  files  permissions  acl 

3
วัตถุประสงค์ของการอนุญาตเช่น 0111 หรือ 0333
วัตถุประสงค์ของการอนุญาต Linux เช่น 111 หรือ 333 คือผู้ใช้สามารถดำเนินการแต่ไม่สามารถอ่านไฟล์ได้หากความสามารถในการดำเนินการไม่ได้หมายความถึงความสามารถในการอ่านโดยอัตโนมัติ

1
การติดตามการปฏิบัติการที่ไม่มีสิทธิ์อ่าน
ฉันพบพฤติกรรมที่น่าประหลาดใจบางอย่างบน Ubuntu 14.04 เมื่อใช้งานstraceกับไฟล์ปฏิบัติการซึ่งฉันไม่ได้รับอนุญาตให้อ่าน ฉันสงสัยว่านี่เป็นข้อผิดพลาดหรือว่ามาตรฐานบางอย่างทำให้พฤติกรรมที่คลุมเครือนี้ ก่อนอื่นเรามาดูกันว่าเกิดอะไรขึ้นเมื่อฉันเริ่มต้นปฏิบัติการปกติในพื้นหลังและแนบมัน ตามที่คาดไว้ใช้งานได้: $ /bin/sleep 100 & [2] 8078 $ strace -p 8078 Process 8078 attached restart_syscall(<... resuming interrupted call ...> ต่อไปฉันลองใช้ไฟล์ปฏิบัติการซึ่งฉันไม่ได้รับอนุญาตให้อ่าน: ---x--x--x 1 root root 26280 Sep 3 09:37 sleep* ไม่อนุญาตให้เชื่อมต่อกับกระบวนการทำงานนี้: $ ./sleep 100 & [1] 8089 $ strace -p 8089 strace: attach: ptrace(PTRACE_ATTACH, ...): …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.