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

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

2
วิธีตั้งค่าการอนุญาตให้ใช้ไฟล์ด้วยคำสั่งแบบสัมผัส
ดูเหมือนว่าทุกครั้งที่ผมสร้างไฟล์ที่มีtouchสิทธิ์ที่จะถูกตั้งค่า: -rw-R - r-- มีวิธีที่ฉันสามารถกำหนดค่าสิทธิ์ด้วยtouchหรือไม่นี้จะต้องทำหลังจากที่มีคำสั่งที่แตกต่างกันอย่างไร

5
ระบบปฏิบัติการรู้ได้อย่างไรว่าคำสั่งนั้นต้องการ sudo?
เมื่อคุณเรียกใช้ไฟล์ปฏิบัติการบางครั้งระบบปฏิบัติการจะปฏิเสธการอนุญาตของคุณ ยกตัวอย่างเช่นการทำงานmake installที่มีคำนำหน้าเป็นเส้นทางระบบจะต้องในขณะที่มีคำนำหน้าเป็นเส้นทางที่ไม่มีระบบจะไม่ถามหาsudo sudoระบบปฏิบัติการตัดสินใจอย่างไรว่าการเรียกใช้งานโปรแกรมจะต้องใช้สิทธิ์มากกว่าที่ผู้ใช้มีก่อนที่โปรแกรมจะทำอะไร บางครั้งการใช้งานโปรแกรมจะไม่ถูกปฏิเสธการอนุญาต sudoแต่โปรแกรมจะสามารถที่จะทำสิ่งต่างๆมากขึ้นหากมีการทำงานกับ ตัวอย่างเช่นเมื่อทำงานduในบางไดเรกทอรีระบบเท่านั้นที่ sudoจะสามารถเข้าถึงบางไดเรกทอรี เหตุใด OS จึงไม่ปฏิเสธการอนุญาตให้เรียกใช้โปรแกรมดังกล่าวหรือแจ้งเตือนสิทธิพิเศษเพิ่มเติมก่อนที่โปรแกรมจะทำงานได้ เป็นความจริงหรือไม่ว่าเมื่อใดก็ตามที่sudoทำงานsuจะทำงานด้วยและทุกครั้งที่suทำงานsudoจะทำงานด้วยหรือไม่ หรือกับsuผู้ใช้สามารถทำได้มากกว่าด้วยsudo? ระบบปฏิบัติการตัดสินใจsudoอย่างไรเมื่อใช้งานและเมื่อsuจำเป็น?
16 permissions  sudo 

4
ฉันสามารถโอนการอนุญาตของผู้ใช้ข้ามคอมพิวเตอร์สำหรับฮาร์ดไดรฟ์ภายนอก ext4 ได้หรือไม่
ฉันมีดิสก์ไดรฟ์ USB 3 ภายนอก (ความจุ 2TB) ที่น่าจะถูกย้ายจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ดิสก์มีตารางพาร์ติชัน GUID และพาร์ติชัน ext4 ฉันไม่สามารถเขียนลงดิสก์ได้เว้นแต่จะยกระดับกระบวนการ ( sudo) ณ ตอนนี้ฉันกำลังคิดว่าจะลองอย่างใดอย่างหนึ่งหรือทั้งสองอย่างต่อไปนี้และต้องการทราบข้อเสียของแต่ละข้อ - chmod 777 /mnt/externalDrive chown nobody:nogroup /mnt/externalDrive ถ้าฉันให้สิทธิ์ 777 และ user1 (UID: 1005) เขียนลงไปและฉันก็ย้ายดิสก์ไปยังคอมพิวเตอร์เครื่องอื่นโดยที่ user7 เป็น UID: 1005 จะเกิดอะไรขึ้น user7 กลายเป็นเจ้าของไฟล์ในคอมพิวเตอร์เครื่องนั้นหรือไม่ ดูเหมือนว่าฉันจะต้องเรียกใช้chown -R nobody:nogroup /mnt/externalDriveบนดิสก์เป็นระยะ มีสิ่งใดที่ฉันกำลังพิจารณาถึงการปฏิบัติที่ไม่ดีอย่างเห็นได้ชัดหรือไม่? ดิสก์ส่วนใหญ่จะมีวิดีโอเพลงและรูปภาพที่ไม่จำเป็นต้องได้รับการปกป้องเช่นเดียวกับข้อมูลทางการเงิน

2
ไม่สามารถขยายเครื่องหมายดอกจันโดยไม่ได้รับอนุญาต
บางคนสามารถอธิบายต่อไปนี้ให้ฉันได้หรือไม่ $ ls -ld /temp/sit/build/ dr-xr-s--- 3 asdf qwer 4096 Jan 31 2012 /temp/sit/build/ $ ls -ld /temp/sit/build/* ls: /temp/sit/build/*: Permission denied เห็นได้ชัดว่าฉันไม่สามารถใช้เครื่องหมายดอกจันที่นี่ ฉันลองด้วยคำสั่ง sudo และฉันได้รับข้อผิดพลาด "ไม่มีไฟล์ดังกล่าว" แทนที่จะ "ปฏิเสธสิทธิ์" ... sudo ls -l /temp/sit/build/* ls: /temp/sit/build/batch*: No such file or directory แต่ในที่สุดก็ใช้งานได้หากฉันไม่ได้ใช้ * sudo ls -l /temp/sit/build/ total 4 dr-xr-s--- …

5
chmod ได้รับอนุญาตซ้ำกับไฟล์หลายพันไฟล์
นี่เป็นคำถามทั่วไปเกี่ยวกับ 'chmoding' แบบเรียกซ้ำ ฉันมีสคริปต์นี้ซึ่งในบางจุดจำเป็นต้องเปลี่ยนการอนุญาตซ้ำในโฟลเดอร์ที่มีไฟล์สองสามแสนไฟล์ มีไฟล์ใหม่เพิ่มเข้ามาในโฟลเดอร์นั้นทุกวัน แต่ไฟล์ที่มีอยู่แล้วมีการตั้งค่าการอนุญาตแล้วและจะไม่เปลี่ยนแปลง คำถามของฉันคือ ... เมื่อฉันโทร chmod 775 -R ลองตั้งค่าการอนุญาตสำหรับไฟล์ที่มีการตั้งค่าการอนุญาตที่เหมาะสมอยู่แล้วหรือเฉพาะสำหรับไฟล์ใหม่ที่ไม่มีการอนุญาตที่ถูกต้อง? ดูเหมือนว่าจะต้องใช้เวลานานกว่าจะผ่านคำสั่งนี้ในสคริปต์แม้ว่าไฟล์ 'ใหม่' จะมีอยู่เพียงไม่กี่พันไฟล์เท่านั้นและควรจะอนุญาตอย่างรวดเร็ว ฉันได้ดูหน้าคนสำหรับ chmod แต่ดูเหมือนจะไม่พูดถึงอะไรในกรณีนี้ หาก chmod ไม่ตรวจสอบการอนุญาตล่วงหน้าฉันควรเริ่มดูการรวม 'find' กับ 'chmod' หรือไม่

2
rsync: ข้ามไฟล์ที่ฉันไม่มีสิทธิ์
ฉันใช้rsync -rlptDเพื่อคัดลอกไดเรกทอรีจากผู้ใช้รายอื่น มีไฟล์อยู่สองสามไฟล์ (ฉันไม่ทราบวิธีการเหล่านี้ล่วงหน้า) ซึ่งฉันไม่ได้รับอนุญาตให้คัดลอก มีวิธีที่ rsync ไม่สนใจสิ่งเหล่านี้หรือไม่ ปัญหาคือว่าถ้า rsync กลับไม่ใช่ศูนย์ bash -x สคริปต์ของฉันจะออก


9
ปัญหาในการเปิดจาวาที่ Debian:“ เกิดข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libjli.so”
ฉันพยายามที่จะเปิดตัวจาวา: $ java -version java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory $ ldd /usr/lib/jvm/java-6-openjdk/jre/bin/java linux-gate.so.1 => (0xb779f000) libz.so.1 => /usr/lib/libz.so.1 (0xb7780000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7767000) libjli.so => /usr/lib/jvm/java-6-openjdk/jre/bin/../lib/i386/jli/libjli.so (0xb7762000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb775e000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7603000) /lib/ld-linux.so.2 (0xb77a0000 $ …

1
การดำเนินการสคริปต์ใน zsh - สิทธิ์ของไฟล์
ฉันสับสนเกี่ยวกับการอนุญาตให้ใช้ไฟล์ไม่ทำงานตามที่คาดไว้ อาจเป็นเพราะความคาดหวังของฉันผิด อย่างไรก็ตาม: ฉันมีไฟล์สคริปต์สำหรับความเรียบง่ายที่เรียกว่าเพียงแค่ตั้งอยู่ในs ~/binเพื่อประโยชน์ของตัวอย่างนี้ไฟล์มีเพียงบรรทัดต่อไปนี้: #!/bin/zsh echo "Test"; ง่ายมาก. ฉันนำทางไปยัง~/binไดเรกทอรีและchmodสิทธิ์ของแฟ้มของsการ400- คืออ่านอย่างเดียวสำหรับฉันเท่านั้น ไม่มีสิทธิ์ดำเนินการ ดังนั้นฉันจึงพยายามรันสคริปต์โดยป้อนเส้นทางของสิ่งนี้: % ./s zsh: permission denied: ./s จนถึงตอนนี้ดีมาก ไม่สามารถเรียกใช้ไฟล์ได้เนื่องจากการอนุญาตที่ไม่ถูกต้อง การกำหนดสิทธิ์การเข้าถึงให้เกิน500(เรียกใช้การอนุญาตที่ได้รับ) จะทำงานได้ดีเช่นกัน - ด้วยการอนุญาตเหล่านี้ไฟล์จะทำงานได้ดี: % ./s Test ทั้งหมดนี้เป็นไปตามที่คาดไว้ แต่ฉันก็chmodอนุญาตให้ย้อนกลับไปที่400(ดำเนินการอนุญาตอีกครั้ง) ลองsourceใช้ไฟล์และสิ่งนี้เกิดขึ้น: % source s Test แม้ว่าสิทธิ์จะเป็น 400สคริปต์จะดำเนินการ ดังนั้นนี่คือคำถามของฉัน: เหตุใดจึง./sล้มเหลว (เช่นควร) แต่source sดำเนินการตามปกติ สิ่งนี้ไม่ได้เป็นการทำลายวัตถุประสงค์ทั้งหมดของการอนุญาตให้ดำเนินการหรือไม่ ใน400สิทธิ์sh sและzsh sยังทำงาน ฉันแน่ใจว่าฉันกำลังทำหรือเข้าใจบางสิ่งผิดปกติอย่างน่ากลัว สามารถชี้คนออกที่ให้ฉันและอธิบายความแตกต่างระหว่าง./s, source s, …

3
วิธีอนุญาตให้ผู้ใช้ที่ไม่ใช่รูทเข้าถึงไฟล์อุปกรณ์
ฉันมีไฟล์อุปกรณ์ที่ปรากฏขึ้น/devเมื่อเสียบบอร์ดเฉพาะการดำเนินการอ่านและเขียนเพื่อให้ทำงานได้ดี แต่เพื่อที่จะเปิดไฟล์อุปกรณ์โปรแกรมจำเป็นต้องดำเนินการด้วยรูทไพรเวอรี มีวิธีใดบ้างที่ฉันสามารถผู้ใช้ที่ไม่ใช่รูททั้งหมดเพื่อเปิดไฟล์อุปกรณ์นี้โดยไม่ต้องใช้ sudo?

4
มีเครื่องมือในการค้นหาสถานะทั่วไปของเครื่องหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันต้องการเครื่องมือสำหรับ linux ที่จะทำให้ฉันมีความคิดทั่วไปว่าเกิดอะไรขึ้นกับเครื่อง ข้อมูลตัวอย่างฉันกำลังมองหา: มีการติดตั้ง daemons ใด (www, db, อื่น ๆ ) กำหนดค่าที่ตั้งสำหรับบริการเหล่านั้น เคอร์เนลและ distro คือเซิร์ฟเวอร์ที่ทำงานและอายุเท่าไหร่ distro คือ (จะรักถ้าเครื่องมือจะบอกด้วยว่า distro นั้นยังรองรับอยู่หรือไม่) ข้อมูล RAM, CPU และพื้นที่ดิสก์ ไดรฟ์ที่ติดตั้ง / เส้นทาง ข้อมูลเกี่ยวกับบัญชีของฉัน: ฉันเป็น sudoer, ข้อมูลที่เป็นประโยชน์อื่น ๆ ข้อมูลเครือข่ายทั่วไป (พอร์ตที่ถูกปิดกั้นหรือค่อนข้างเปิด) แก้ไข: ล่าม / คอมไพเลอร์ที่ติดตั้งและเวอร์ชัน (C, Python ฯลฯ ) …

1
เหตุใด ArchLinux จึงเก็บผู้ใช้ / กลุ่มไว้หลังจากถอนการติดตั้งแพ็คเกจ
ฉันสังเกตว่าหลังจากถอนการติดตั้งpostgresqlแพคเกจใน ArchLinux postgresผู้ใช้และกลุ่มจะไม่ถูกลบโดยอัตโนมัติ เช่นเดียวกับแพคเกจอื่น ๆ การตรวจสอบเพิ่มเติมนี้ฉันเจอหน้านี้แล้วซึ่งระบุว่า: แพ็คเกจที่แสดงไว้ที่นี่ใช้userdel/ groupdelเพื่อลบผู้ใช้ที่พวกเขาสร้าง สิ่งเหล่านี้ไม่ควรถูกลบโดยอัตโนมัติเนื่องจากมันมีความเสี่ยงด้านความปลอดภัยหากไฟล์ใด ๆ ถูกทิ้งให้เป็นเจ้าของ ฉันสงสัยว่าเหตุใดการปล่อยให้ไฟล์ที่มีความเป็นเจ้าของนี้มีความเสี่ยงด้านความปลอดภัย

3
ฉันจะตรวจสอบการอนุญาตของโฟลเดอร์รูทได้อย่างไร (/ โฟลเดอร์ไม่ใช่ / รูท)
มีวิธีตรวจสอบสิทธิ์ของโฟลเดอร์รูทหรือไม่? ฉันหมายถึงการอนุญาตของโฟลเดอร์ไม่ใช่การอนุญาต (/ var, / usr ฯลฯ ) ของเนื้อหาใช่ไหม การเรียกใช้ls /..แสดงสิทธิ์ของเนื้อหา

1
ให้สิทธิ์การเขียนเริ่มต้นเพื่อจัดกลุ่มไฟล์และโฟลเดอร์ที่สร้างขึ้นใหม่
สมมติว่าเรามีผู้ใช้ 2 คน: a และ b ซึ่งเป็นส่วนหนึ่งของกลุ่มทั่วไป ฉันต้องการไฟล์หรือโฟลเดอร์ใด ๆ ที่ A สร้างขึ้นจะมีสิทธิ์เขียนไปยังกลุ่ม GENERAL ฉันจะทำมันได้อย่างไร ตัวอย่างเช่นไฟล์ที่สร้างขึ้นใหม่ถูกตั้งค่าเป็น: -rw-r--r-- 1 a general สิ่งนี้ไม่ให้สิทธิ์ในการเขียนแก่กลุ่มทั่วไป


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