(Click Category to List Courses)

40 - IT-O - Information Technology - Operating Systems and System Administration

IT-O 210 - UNIX/Linux - Programming Tools & Security Issues

Code Start Date Duration Venue
IT-O 210 13 November 2023 5 Days Istanbul Registration Form Link
IT-O 210 04 December 2023 5 Days Istanbul Registration Form Link
Please contact us for fees


Course Description

This course discusses the use of system-level programming interfaces provided by UNIX and Linux to develop applications. The course is illustrated with practical examples in UNIX's 'native' C language which show how to write programs to exploit the features of UNIX. UNIX is an excellent environment for client/server programming. Participants will learn how to create both client and server applications using sockets and other inter-process communication methods.

Course Objectives

  • Writing programs that can access and update information in files
  • Using the concepts of the UNIX virtual memory system
  • Handling signals in a safe and reliable way
  • Programming UNIX and Internet sockets interfaces
  • Building multi-process applications
  • Understanding passing information between co-operating processes using IPC
  • Implementing UNIX client/server applications
  • Creating multi-threaded programs and synchronise shared resources

Who Should Attend?

  • UNIX professional
  • User and application support specialists
  • Software developers and those working toward becoming an effective system
  • Network or database administrator on the UNIX platform
  • Anyone who deals directly or indirectly with UNIX system 

Course Details/Schedule

Day 1

  • Introduction and Review of Unix Basics
  • Command syntax
  • Permissions
  • Processes
  • Wildcards
  • Redirection and pipes
  • Creating and Executing Scripts
  • The Shell Environment
  • Assigning and accessing variables
  • Built-in variables
  • Tools of the Trade
  • Extracting text with cut
  • Joining columns with paste
  • Transliterating characters with tr
  • Eliminating duplications with uniq
  • Batch processing with at
  • Periodic Processing with cron

Day 2

  • Quoting
  • Single and double quotes
  • Command substitution
  • Reading Input and Performing Arithmetic
  • Positional parameters
  • Reading user input interactively
  • Displaying output
  • Arithmetic on shell variables
  • Conditional Testing
  • Exit status
  • The test command
  • String, integer and file test operators
  • The if command and its variations
  • The case statement
  • The select statement

Day 3

  • Looping Constructs
  • The for loop
  • The while/until loops
  • Controlling loops with break and continue
  • Miscellaneous features
  • Arrays
  • Setting options in the Korn shell
  • Aliases
  • Command Line history
  • Job Control
  • Functions
  • Signal Handling
  • Security Concepts
  • What is Security?
  • Staying up to Date
  • Thinking Like the Enemy
  • Creating a Security Policy

Day 4

  • Securing User Accounts
  • Introduction
  • Account Names
  • Mail aliases
  • Users and their passwords
  • Users with no passwords
  • Forcing user to change their password
  • Preventing user from changing their password
  • Restricted shell
  • Application accounts
  • Same UID, multiple user accounts
  • Dealing with the su command
  • Saving login failures
  • Using tools
  • Aecuring System Accounts
  • The root Account

Day 5

  • Other System Accounts
  • Group System Account
  • Securing the File System
  • Basic UNIX permissions
  • Setting default permissions
  • Special permissions
  • Special permission: sticky bit
  • Access Control Lists (ACL)
  • Changing the ownership of a file
  • Changing the group ownership of a file
  • Device files
  • Partitions
  • Disk Quotas
  • Backups
  • System Startup and Processes
  • Boot Up Process
  • Process Control