ฉันจะสแกนโดยใช้ค้นหาไฟล์ทั้งหมดที่มีการเรียกใช้บิตเซ็ตได้อย่างไร


19

ฉันต้องการเขียนสคริปต์แก้ไขสิทธิ์ที่ใช้การค้นหาเพื่อแก้ไขสิทธิ์ในไฟล์

ส่วนใหญ่สิ่งที่ฉันต้องการคือคำสั่ง find ที่สามารถแสดงรายการไฟล์ทั้งหมดด้วยชุดบิตเรียกใช้โดยไม่คำนึงถึงสิทธิ์อื่น ๆ ของไฟล์ (นั่นคือเคล็ดลับ)


2
คุณลองทำอะไรไปแล้ว? คุณทำวิจัยอะไร ตามที่เขียนไว้ในตอนนี้คุณแค่ขอให้เราทำเพื่อคุณและคุณไม่ได้แสดงความพยายามใด ๆ ในการแก้ปัญหาด้วยตัวคุณเอง
EEAA

นอกจากนี้ฉันขอแนะนำให้อ่านคำถามประเภทที่เหมาะสมที่นี่ก่อนโพสต์คำถามเพิ่มเติม คุณมีคำถามที่โหวตแล้วแบบปิดและแบบลงและถ้าไม่ระวังคุณน่าจะใช้งานคำถามห้ามอัตโนมัติ
EEAA

@EEAA: น่าเศร้าฉันสงสัยว่าทุกที่ใกล้เกิดขึ้น หากคุณมีตัวแทนเลยมันยากมากที่จะได้รับ q-แบน

@Iain - ยุติธรรมเพียงพอ หวังว่าเขาจะยังคงฟังคำแนะนำอยู่ดี
EEAA

2
@EEAA: ฉันหวังเช่นกัน แต่คนที่ไม่สามารถอ่านคู่มือได้โดยทั่วไปไม่ใส่ใจคำแนะนำ - พวกเขาแค่คิดว่ามันง่ายขึ้นเกี่ยวกับทัศนคติของเรา...iyswim;)

คำตอบ:


24

ในการค้นหาของ GNU:

find /dir -type f -executable

-permในรุ่นอื่นดูหน้าคนที่อยู่รอบ ๆ


11

เชื่อหรือไม่ว่าเอกสารนี้มีการจัดทำอย่างกว้างขวางในหน้าค้นหาคน ในระบบ CentOS และ Ubuntu ฉันต้องส่งมอบตัวอย่างให้ด้วย

-perm / mode

โหมดบิตการอนุญาตใด ๆ ถูกตั้งค่าสำหรับไฟล์ โหมดสัญลักษณ์ได้รับการยอมรับในแบบฟอร์มนี้ คุณต้องระบุu',g 'หรือ `o' หากคุณใช้โหมดสัญลักษณ์ ดูส่วนของตัวอย่างสำหรับตัวอย่างที่เป็นตัวอย่าง หากไม่มีการตั้งค่าบิตการอนุญาตในโหมดการทดสอบนี้จะตรงกับไฟล์ใด ๆ (ความคิดที่นี่คือเพื่อให้สอดคล้องกับพฤติกรรมของ -perm -000)

ดังนั้น

find  . -perm /u+x

จะค้นหาไฟล์ที่สิทธิ์การเรียกใช้งานถูกกำหนดไว้สำหรับเจ้าของ

find . -perm /u+x,o+x

จะค้นหาไฟล์ที่สิทธิ์การเรียกใช้งานถูกตั้งค่าไว้สำหรับเจ้าของและอื่น ๆ


1

find / path / of / the / directory -type f -executable


@ คุณกรุณาอธิบายว่ามันจะทำงานอย่างไร
vfbsilva

วิจัยสิ่งนี้: man7.org/linux/man-pages/man1/find.1.html - แฟล็ก -executable: จับคู่ไฟล์ที่สามารถเรียกใช้งานได้และไดเรกทอรีที่ค้นหาได้ (ในแง่ของการแก้ปัญหาชื่อไฟล์)
RayJ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.