dgt_sys04 – NFS and Samba

Module Title: dgt_sys04 – NFS and Samba

Overview:
This module covers the administration of network file sharing on Linux systems. It focuses on the two major technologies used for sharing files across networks: Network File System (NFS) and Samba. The module combines theory with natural-language practice: participants never edit exports or smb.conf by hand, but direct the machine in plain language to set up, configure and manage these services, and then verify every change it makes.

Module Objectives:
1. Understand the fundamentals of network file sharing and its importance in Linux environments.
2. Explore the architecture, configuration, and deployment of NFS for Unix/Linux-based file sharing.
3. Learn about Samba’s role in providing Windows interoperability with Linux/Unix systems using the SMB/CIFS protocols.
4. Practice instructing the machine to set up, secure, and troubleshoot NFS and Samba services, and checking that the result is correct.
5. Learn to specify and verify user permissions, directories, and shares across different platforms.

Modules:

  1. Introduction to Network File Sharing
  2. Overview of file sharing concepts
  3. Benefits of networked file systems
  4. Understanding the difference between local and remote file access

  5. Network File System (NFS)

  6. History and development of NFS
  7. Core components and architecture of NFS
  8. Step-by-step guide to having the machine install and configure NFS on Linux, and to reading the configuration it produces
  9. Exports, permissions, and security for NFS shares: what to ask for and what to check
  10. Performance tuning and best practices for NFS

  11. Samba Overview

  12. Introduction to Samba and its role in Windows interoperability
  13. Understanding the SMB/CIFS protocols
  14. Key features of Samba: domains, workgroups, and authentication methods

  15. Configuring Samba Services

  16. Describing to the machine how Samba should be installed and set up on Linux systems
  17. Configuring Samba for various use cases (e.g., standalone server, domain controller) and reviewing the resulting configuration
  18. Defining user permissions and access controls, and verifying that they are enforced
  19. Integrating with existing Active Directory environments

  20. Security Considerations

  21. Best practices for securing NFS and Samba shares
  22. Firewall rules and SELinux/AppArmor policies: how they work and how to judge the ones the machine proposes
  23. Encrypting data in transit for both protocols
  24. Regular maintenance tasks: updating, logging, monitoring, and auditing

  25. Troubleshooting and Performance Optimization

  26. Common issues with NFS and Samba configurations
  27. Tools and techniques for diagnosing problems, and how to interpret their output when the machine runs them for you
  28. Methods to enhance the performance of file-sharing services

  29. Natural-Language Lab Sessions

  30. Labs in which participants have the machine configure and manage both NFS and Samba setups, then test access from clients and correct its mistakes.
  31. Scenario-based exercises simulating real-world network environments, including deliberately broken shares to diagnose with the machine.

Target Audience:
This module is intended for system administrators, IT professionals, and network engineers who manage Linux systems or need interoperability between Unix/Linux and Windows networks. Participants should have a basic understanding of the Linux command line and of networking concepts, enough to read the commands the machine runs.

By the end of this module, participants will be able to implement and manage file-sharing services with NFS and Samba in mixed network environments, with attention to performance and security.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy