Score:0

ปฏิเสธการอนุญาต Grep

ธง ru

ฉันกำลังทำการบ้านให้เสร็จ และมันก็ค่อนข้างจะอิงจากคดีฆาตกรรม ฉันดาวน์โหลดไฟล์ที่กำหนดเอง และฉันกำลังค้นหาคำสำคัญภายในไฟล์ คำถามที่ฉันกำลังตอบอยู่ตอนนี้คือ: "ค้นหาไฟล์ที่มีข้อความ âapt ไม่ â เพื่อหาข้อมูลนั้น".

ฉันค่อนข้างใหม่สำหรับ Linux และฉันกำลังได้รับ สิทธิ์ถูกปฏิเสธ เมื่อใดก็ตามที่ฉันป้อนคำสั่งต่อไปนี้:

grep -inr apt.no

ความช่วยเหลือใด ๆ ในการแก้ไขปัญหานี้จะได้รับการชื่นชมอย่างมาก ไฟล์ที่ฉันกำลังมองหามี ฉลาดเลขที่ ข้อความในไฟล์.

bbcharlieca@myvm:~$ grep -inr apt.no.
.viminfo:92:|2,1,1635317358,47,"apt.no"
.viminfo:92:|2,1,1635317355,47,"apt.no"
grep: nano.save: ปฏิเสธการอนุญาต
bbcharlieca@myvm:~$ â

ป้อนคำอธิบายรูปภาพที่นี่

Mark Kirby avatar
cn flag
คุณต้องเรียกใช้คำสั่งเป็น root `sudo grep -inr apt.no`
Lostinthesauce avatar
ru flag
ฉันจะเข้าถึงไฟล์ตอนนี้ได้อย่างไรจากข้อมูลที่ฉันได้รับ
Lostinthesauce avatar
ru flag
มันผ่านไปได้ด้วยดี แต่ฉันสับสนว่าสิ่งนี้ช่วยให้ฉันค้นหาตำแหน่งไฟล์หรือชื่อไฟล์ได้อย่างไร
Mark Kirby avatar
cn flag
คุณกำลังค้นหาอะไรกันแน่ ไฟล์ที่กำหนดเองบางไฟล์ คำสั่งส่งคืนรายการไฟล์ให้ฉัน คุณช่วยอธิบายได้ไหมว่าคุณต้องการบรรลุอะไรกันแน่
st flag
@MarkKirby: ได้โปรดอย่า *ไม่* สอนผู้คนให้ยกระดับสิทธิ์แบบสะท้อนกลับทุกครั้งที่พบปัญหา แต่ควร *เข้าใจ* ปัญหาและ *แก้ไข* แทน เห็นได้ชัดว่า OP พบไฟล์ที่พวกเขาเชื่อว่าควรเข้าถึงได้ แต่ยังไม่ได้ การสอนพวกเขาให้ *หลีกเลี่ยง* การจำกัดการเข้าถึงอย่างไม่ตั้งใจเป็นสิ่งที่อันตราย แต่ควรตรวจสอบว่าปัญหาคืออะไร การจำกัดการเข้าถึงผิดหรือไม่ หรือบางทีความเชื่อของพวกเขาที่ว่าพวกเขา *ควรมีสิทธิ์เข้าถึง* นั้นผิด? ทั้งสองมีโซลูชันที่แตกต่างกัน *มาก* และ *ไม่* รวมถึงการเรียกใช้โปรแกรมซ้ำด้วย sudo
Lostinthesauce avatar
ru flag
ฉันกำลังทำการบ้านให้เสร็จ และมันก็ค่อนข้างจะอิงจากคดีฆาตกรรม ฉันดาวน์โหลดไฟล์ที่กำหนดเอง และฉันกำลังค้นหาคำสำคัญภายในไฟล์ คำถามที่ฉันกำลังตอบอยู่ตอนนี้คือ **มองหาไฟล์ที่มีข้อความ âapt. ไม่ â เพื่อหาข้อมูลนั้น**
Mark Kirby avatar
cn flag
@ JörgWMittag ฉันไม่ได้แนะนำอย่างไม่ใส่ใจ มันเป็นคำสั่ง grep ธรรมดา คุณมีวิธีที่จะระมัดระวัง มันจะไม่เป็นอันตรายต่อ OP
st flag
@MarkKirby: คุณเชื่อหรือไม่ว่า OP เข้าใจอย่างถ่องแท้และครบถ้วนว่าคำสั่งที่พวกเขากำลังเรียกใช้นั้นทำอะไร ข้อความแสดงข้อผิดพลาดที่พวกเขาได้รับหมายถึงอะไร อย่างไรและทำไม *แน่นอน* คำสั่งที่พวกเขากำลังเรียกใช้ล้มเหลว อย่างไรและทำไม *แน่นอน * คำสั่งที่พวกเขากำลังเรียกใช้นั้นปลอดภัย และอย่างไรและเพราะเหตุใด *คำสั่ง* ที่คุณแนะนำจึงปลอดภัย ฉันพูดตามตรงว่าไม่ใช่สิ่งที่คุณสอนพวกเขาเป็นหลักคือสองสิ่ง: 1) คุณสามารถแก้ไขปัญหาใด ๆ ได้เพียงแค่ตบ `sudo` ข้างหน้า และ 2) เรียกใช้รหัสที่คุณไม่เข้าใจที่แนะนำโดยคนที่สุ่มเลือกบนอินเทอร์เน็ตนั้นใช้ได้อย่างสมบูรณ์
st flag
ปัญหาพื้นฐานที่นี่คือ OP พยายามเข้าถึงไฟล์ที่พวกเขาคาดว่าจะเข้าถึงได้ แต่ทำไม่ได้ สิ่งนี้อาจมีสาเหตุหลายประการ: ความคาดหวังของ OP ผิด (พวกเขาไม่ควรมีสิทธิ์เข้าถึงและข้อผิดพลาดนั้นถูกต้อง) การจำกัดการเข้าถึงไม่ถูกต้อง (พวกเขา *ควร* มีสิทธิ์เข้าถึงและการอนุญาตไม่ถูกต้อง) สิ่งเหล่านี้คือ ไม่เข้าถึงไฟล์ที่พวกเขาคิดว่ากำลังเข้าถึง และความเป็นไปได้อื่นๆ อีกมากมาย ปัญหาที่แตกต่างกันทั้งหมดเหล่านี้มีวิธีแก้ไขที่เป็นไปได้ที่แตกต่างกันด้วยการแลกเปลี่ยนที่แตกต่างกัน หากไม่เข้าใจว่าอะไรคือปัญหา ก็จะไม่สามารถแก้ไขได้
st flag
ฉันได้เห็นคำถามนับไม่ถ้วนเกี่ยวกับ [ubuntu.se], [unix.se], [su], [so], [apple.se] และอื่นๆ ซึ่งผู้คนประสบความสูญเสียทางเศรษฐกิจหรืออารมณ์อย่างมากจากการลบหรือทำลายข้อมูลโดยไม่ตั้งใจ มีคุณค่าทางเศรษฐกิจหรือทางอารมณ์เพียงเพราะพวกเขาถูกกำหนดให้แก้ไขข้อผิดพลาดใด ๆ ที่พวกเขาไม่เข้าใจด้วยการตบ `sudo` ต่อหน้าสิ่งที่พวกเขาพยายามเรียกใช้ ซึ่งโดยปกติแล้ว *ทำให้ข้อผิดพลาดหายไป* แต่ไม่ได้ทำอะไรเลยเพื่อ *แก้ไขปัญหา*
Score:5
ธง fi

เดอะ -ร ธงไปที่ เกรป สั่งให้ค้นหาทุกไฟล์ในไดเร็กทอรีปัจจุบันของคุณและในไดเร็กทอรีย่อยทั้งหมด (คุณสามารถหาข้อมูลเกี่ยวกับ -ร, -ผม-, และ -น โดยการอ่านเอกสาร ผู้ชายเกรป.)

คำสั่งที่ตรงกัน ฉลาดเลขที่ ในไฟล์ .viminfoและพิมพ์บรรทัดที่ตรงกัน แจ้งให้ทราบในข้อความของคุณที่คุณต้องการค้นหา ฉลาดเลขที่ แต่ในภาพหน้าจอของคุณ (เอ่อ; ดีกว่ามากที่จะคัดลอกและวางเป็นข้อความ) คุณพิมพ์จริงๆ ฉลาดเลขที่ โดยมีจุดต่อท้าย นอกจากนี้ คำแนะนำของคุณดูเหมือนจะต้องการให้คุณค้นหา ฉลาด ไม่. (มีช่องว่าง). พึงทราบว่าด้วย เกรปจุดคืออักขระตัวแทนที่จะจับคู่ อักขระใดก็ได้และถ้าคุณค้นหาข้อความที่มีการเว้นวรรค ต้อง* วางไว้ในเครื่องหมายคำพูดบางทีคุณอาจตั้งใจเรียกใช้คำสั่งนี้ ซึ่งค้นหาสตริงตัวอักษร ฉลาด ไม่. ไม่มีการจับคู่สัญลักษณ์ตัวแทนใด ๆ ?

grep -rF 'ฉลาด ไม่.'

ของคุณ เกรป พยายามค้นหาไฟล์ด้วย นาโนเซฟแต่ดูเหมือนว่าคุณไม่ได้เป็นเจ้าของสิ่งนี้ มิฉะนั้น คุณได้ลบสิทธิ์การอ่านของคุณออกจากสิ่งนี้แล้ว หากไฟล์อยู่ในโฮมไดเร็กตอรี่ของคุณเอง คุณอาจสามารถลบไฟล์นี้ได้อย่างปลอดภัย (rm nano.save). หากอยู่ในพื้นที่ที่ใช้ร่วมกัน คุณจะต้องอยู่กับข้อความแสดงข้อผิดพลาด ให้แยกออกจากนั้นอย่างชัดเจน เกรปหรือบอกให้เปลือกทิ้ง ทั้งหมด ข้อความแสดงข้อผิดพลาดจากคำสั่ง:

grep -Fr 'ฉลาด ไม่.' #อยู่กับมัน
grep -Fr --exclude='nano.save' 'ฉลาด ไม่.' # ไม่รวมไฟล์ชื่อ
grep -Fr 'ฉลาด ไม่.' 2>/dev/null # ละทิ้งข้อความแสดงข้อผิดพลาด *ทั้งหมด*

หากคุณมีสิทธิ์รูท คุณสามารถค้นหาด้วยสิทธิ์เหล่านั้น แต่การกระโดดขึ้นไปที่ระดับรูทควรทำด้วยความระมัดระวัง แทบไม่มีข้อ จำกัด ใด ๆ หากคุณใช้งานในฐานะรูท:

sudo grep -Fr 'ฉลาด ไม่.' # เรียกใช้ในฐานะรูท

* หากไม่ได้อยู่ในเครื่องหมายคำพูด คุณต้องหลีกทุกครั้งที่มีอักขระพิเศษ เช่น ช่องว่าง ฉันจะไม่ทำที่นี่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา