Score:0

มีวิธีระบุคอมพิวเตอร์เครื่องใดที่สร้างไฟล์ในการแชร์ Samba (สภาพแวดล้อมแบบผสม)

ธง za

ขณะนี้ฉันกำลังทำงานกับแอปโปรเจ็กต์ด้านเล็กที่ใช้โปรแกรมดูไฟล์เพื่อตรวจสอบโฟลเดอร์ที่ระบุสำหรับการเปลี่ยนแปลง หนึ่งในการใช้งานทั่วไปของแอพคือการแชร์เครือข่าย เช่น การแชร์แซมบ้า ตัวอย่างหนึ่งของการใช้งานเหล่านี้คือ:

  • ไคลเอนต์ Windows หนึ่งเครื่อง
  • ไคลเอนต์ MacOS หนึ่งเครื่อง
  • ไคลเอ็นต์ Linux หนึ่งเครื่อง
  • เซิร์ฟเวอร์ Ubuntu หนึ่งเครื่องที่ใช้บริการ Samba

เมื่อไคลเอ็นต์ Windows เพิ่มไฟล์ลงในการแชร์ เฉพาะไคลเอ็นต์ MacOS และไคลเอ็นต์ Linux เท่านั้นที่จะได้รับการแจ้งเตือน อย่างไรก็ตาม โปรแกรมตรวจสอบไฟล์ในแต่ละไคลเอ็นต์ (รวมถึงไคลเอ็นต์ Windows) จะตรวจพบไฟล์ใหม่ เพื่อให้สามารถป้องกันไม่ให้ไคลเอนต์ Windows ("ผู้สร้าง" ของไฟล์) ได้รับการแจ้งเตือน ฉันต้องการให้แอปสามารถรู้ได้ว่าใครสร้างไฟล์

// pseudocode ขี้ขลาด
ฟังก์ชั่น onFileCreated (จ) {
    ถ้า (e.File.Creator == GetHostName())
        กลับ;

    SendToastNotification (e.File);
}

ปัจจุบัน ลูกค้าแต่ละรายลงชื่อเข้าใช้ผู้ใช้ Samba เดียวกัน และแอตทริบิวต์ Owner แสดงผู้ใช้ Samba (ตามที่ควร) ฉันไม่ค่อยเข้าใจการทำงานภายในของ Samba แต่นี่คือแนวทางบางส่วนที่ฉันกำลังนึกถึง:

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

อาจมีตัวเลือกที่ดีกว่า ขอบคุณมากล่วงหน้า

โพสต์คำตอบ

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