0% found this document useful (0 votes)
4 views105 pages

Socratic Method Linux

The document outlines a comprehensive set of questions and tasks designed to teach Linux through the Socratic method, covering various topics such as CPU, memory, filesystem, networking, disk, security, general system, user environment, bash scripting, and software packages. Each section includes specific inquiries and practical exercises aimed at enhancing understanding of Linux system administration. The document encourages interactive learning and problem-solving to deepen users' knowledge of Linux systems.

Uploaded by

M.AAMIR Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views105 pages

Socratic Method Linux

The document outlines a comprehensive set of questions and tasks designed to teach Linux through the Socratic method, covering various topics such as CPU, memory, filesystem, networking, disk, security, general system, user environment, bash scripting, and software packages. Each section includes specific inquiries and practical exercises aimed at enhancing understanding of Linux system administration. The document encourages interactive learning and problem-solving to deepen users' knowledge of Linux systems.

Uploaded by

M.AAMIR Hassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 105

LEARNING

LINUX THROUGH
THE SOCRATIC
METHOD
By ProLUG
CPU TOPICS
CAN YOU LIST
THE NUMBER
OF CPUS?
CAN YOU
TELL ME THE
SPEED IN
MHZ?
CAN YOU TELL
ME THE
MANUFACTURER
OF THE CPU?
CAN YOU TELL
ME THE
ARCHITECTURE
OF THIS CHIP?
CAN YOU TELL
ME IF THIS
SYSTEM IS
PHYSICAL OR
VIRTUAL?
SPIN THE CPU
UP TO HIGH
LOAD FOR 3
MINUTES
MEMORY TOPICS
CAN YOU TELL
ME HOW MUCH
RAM WE HAVE?
CAN YOU TELL
ME HOW MUCH
RAM WE HAVE
USED?
CAN YOU TELL
ME HOW MUCH
RAM WE HAVE
FREE?
CAN YOU
TELL ME HOW
MUCH SWAP
WE HAVE?
CAN YOU
FREE ALL OF
THE CACHED
MEMORY?
GENERATE
HIGH MEMORY
LOAD FOR 3
MINUTES
FILESYSTEM TOPICS
CAN YOU SHOW
ALL OF THE
USED SPACE OF
THE / (ROOT)
PARTITION?
CAN YOU SHOW
ALL OF THE
USED INODES
OF THE / (ROOT)
PARTITION?
ALL OF THE
USED SPACE
CURRENT
DIRECTORY
YOU’RE IN?
CAN YOU SHOW ALL
THE PROCESSES
THAT ARE USING
THE DIRECTORY
YOU’RE IN?
CHECK THE LONG LISTING
OF /ROOT, /TMP,
/ETC/SHADOW,
/ETC/PASSWD, AND
/ETC/SSH/SSHD_CONFIG.
CAN YOU EXPLAIN ALL OF
THESE PERMISSIONS?
CAN YOU
REMOUNT THE
/TMP DIRECTORY
AS READ ONLY?
CAN YOU LIST THE
NUMBER OF FREE
INODES IN / ?
TOUCH
/TMP/TESTFILE.
CAN YOU HARD
LINK TO THAT FILE
3 TIMES?
CAN YOU HARD
LINK TO A FILE
ACROSS
FILESYSTEM
BOUNDARIES?
CAN YOU CAT OUT THE
CONTENTS OF THE FILE
THAT DEFINES MOUNT
POINTS IN THE
SYSTEM?
CAN YOU TEST YOUR
WRITE SPEED OF YOUR
FILESYSTEM?

CAN YOU TEST YOUR


READ SPEED?
NETWORKING
TOPICS
CAN YOU SHOW
ALL THE
INTERFACES ON
YOUR SYSTEM?
CAN YOU SHOW
THAT THE
INTERFACE IS
CONNECTED
PHYSICALLY?
CAN YOU
DETERMINE
YOUR DEFAULT
ROUTE?
CAN YOU PING
THE DEFAULT
GATEWAY 3
TIMES?
CAN YOU
DETERMINE THE
MTU OF THE
NETWORK WITH
PING?
PROPERLY
IDENTIFY ALL OF
YOUR IPV4 AND
IPV6
NETWORKS?
CAN YOU LIST
YOUR OPEN
PORTS?
CAN YOU PROVE
THAT DNS IS
WORKING?
WE EDIT TO
CHANGE THE
SERVICE TO
PORT NUMBER
MAPPING?
CAN YOU
CONNECT TO
ANOTHER SERVER
AND TEST FOR AN
OPEN PORT?
CAN YOU CONNECT
TO ANOTHER
SERVER VIA SSH
AND SHOW 3
LEVELS OF DEBUG
ON THE
CONNECTION?
CAN YOU PROVE YOU
HAVE NOTHING
BLOCKING PORT 80
TO
WWW.GOOGLE.COM?
CAN YOU COPY A FILE
TO A REMOTE SERVER?

CAN YOU PULL A FILE


FROM A REMOTE
SERVER TO THIS ONE?
CAN CAPTURE ALL
PACKETS ON AN
INTERFACE?

CAN YOU CAPTURE ALL


PACKETS ON AN
INTERFACE TO A FILE?
CAN YOU SHOW ALL
THE HOPS BETWEEN
YOUR SERVER AND
WWW.GOOGLE.COM?
CAN YOU CAPTURE
ALL THE TRAFFIC ON
YOUR PRIMARY
INTERFACE?
CAN YOU CAPTURE
ALL THE TRAFFIC ON
YOUR PRIMARY
INTERFACE AND SAVE
IT OUT TO A FILE?
DISK TOPICS
HOW DO
YOU CHECK
HOW MANY
DISKS YOU
HAVE?
HOW DO YOU
CHECK HOW
MANY DISK
PARTITIONS
YOU HAVE?
HOW DO YOU
CHECK WHAT
FILESYSTEMS ARE
ON THE
PARTITIONS?
CAN YOU CHECK
PARTITIONS THAT
AREN’T EVEN
MOUNTED FOR
FILESYSTEM TYPES?
CAN YOU
CHECK DISK
I/O OVER
TIME?
CAN YOU VERIFY
DISK READ AND
WRITE SPEED?
SECURITY
TOPICS
WHAT USERS
HAVE LOGGED
INTO THE
SYSTEM IN THE
LAST 24
HOURS?
CAN YOU TELL
ME WHAT PID
IS LISTENING
TO PORT 22
ON YOUR
SYSTEM?
CAN YOU TELL
ME HOW THE
SSHD DAEMON
WAS STARTED
ON THE
SYSTEM?
CAN YOU
LIST THE
KERNEL
MODULES?
CAN YOU VERIFY
THAT A FILE
HASN’T
CHANGED IN THE
LAST 3 DAYS?
CAN YOU VERIFY THE
HASH OF A FILE
BEFORE AND AFTER
YOU COPY IT TO
ANOTHER SERVER?
CAN YOU
ENCRYPT A
TEXT FILE
USING VI?
FOR ANY USER,
CAN YOU
DETERMINE
THEIR SUDO
PERMISSIONS?
FOR ALL USERS
CAN YOU LIST A
COUNT OF WHAT
DEFAULT SHELLS
THEY HAVE?
CAN YOU VERIFY AN
INDIVIDUAL USER’S
LIMITS OF OPEN FILES?

DO YOU KNOW WHERE


TO CHANGE THIS?
GENERAL
SYSTEM
CAN YOU TELL
ME HOW THE
SYSTEM WAS
BOOTED BY
GRUB?
CAN YOU TELL ME
THE RUNNING
KERNEL
VERSION?
CAN YOU TELL ME
HOW MANY
VERSIONS OF
THE KERNEL YOU
HAVE AVAILABLE?
CAN YOU SHOW
THAT THE SSH(D)
SERVICE IS
RUNNING?
CAN YOU SHOW
HOW THE SSH(D)
PROCESS WAS
STARTED?
WHAT IS IT’S
PARENT PROCESS?
CAN YOU EDIT THE
FILE THAT CHANGES
THE KERNEL THE
SYSTEM BOOTS TO?
CAN YOU TELL
ME THE VERSION
OF LINUX YOU’RE
USING?
CAN YOU DESCRIBE
THE 7 FIELDS OF
THE /ETC/PASSWD
FILE?
ME ALL THE
UNIQUE SHELLS
THAT EXIST
IN
/ETC/PASSWD?
CAN YOU SET ONE
VARIABLE TO BE
INHERITED BY CHILD
PROCESSES AND ONE
VARIABLE THAT IS NOT?

CAN YOU PROVE IT?


CAN YOU SET A
PROCESS TO RUN
EVERY 5 MINUTES ON
THE SERVER?
USER
ENVIRONMENT
WHAT IS YOUR
USER’S HOME
DIRECTORY?

WHAT IS ROOT’S
HOME DIRECTORY?
CAN YOU SHOW
ALL THE
ALIASES YOUR
USER HAS
AVAILABLE?
CAN YOU
CREATE OR
REMOVE AN
ALIAS?
CAN YOU TELL IF
THE USER HAS A
PASSWORD SET?
CAN CAN YOU
CREATE OR
REMOVE AN
ALIAS AND MAKE
THAT
PERSISTENT?
DO YOU KNOW
WHERE THE USER
DEFAULT HOME
DIRECTORY FILES
POPULATE FROM?
CAN YOU SET A
SCRIPT THAT
AUTOMATICALLY
RUNS ON ANY
USER LOGIN?
CAN YOU CHECK YOUR
CURRENT USER?

DO YOU KNOW WHAT


YOUR PRIMARY AND
SECONDARY GROUPS
ARE?
BASH SCRIPTING
CAN YOU TOUCH
A FILE WITH
TODAY’S DATE IN
THE FILENAME?
CAN YOU
CREATE 100
FILES NAMED
FILE<NUMBER>?
CAN YOU SHOW
THE PID OF THE
SHELL YOU’RE
RUNNING IN?
CAN YOU CREATE
~100 FILES NAMED
FILE<NUMBER>
SKIPPING EVERY EVEN
NUMBER 001-199?
CAN YOU SET A
VARIABLE OF
ONE DATA
POINT?
CAN YOU LOOP
FOREVER
WATCHING
UPTIME EVERY 2
SECONDS?
CAN YOU MAKE
YOUR SYSTEM
COUNT TO 100?
CAN LOOP OVER A
LIST FROM THE
COMMAND LINE?

CAN LOOP OVER A


LIST FROM A FILE?
CAN YOU CONNECT
TO TWO SYSTEMS
AND CAPTURE
THEIR UPTIME IN A
FILE?
CAN YOU CREATE A
SCRIPT THAT CAPTURES
THE START TIME, SLEEPS
FOR 10 SECONDS, AND
END TIME OF THE SCRIPT
EXECUTION AND PRINTS
THEM?
CAN YOU TEST A
VARIABLE
AGAINST AN
EXPECTED
(KNOWN) VALUE?
SOFTWARE
PACKAGES
CAN YOU SHOW
ALL THE
PACKAGES THAT
HAVE ‘SSL’ IN
THEIR NAME?
CAN YOU SHOW
WHEN THE
SYSTEM
SOFTWARE WAS
LAST MODIFIED?
CAN YOU VERIFY THAT
YOU HAVE A
SOFTWARE CALLED
COWSAY?
IF NOT, CAN YOU
INSTALL IT?
CAN YOU VERIFY THAT
COWSAY IS IN YOUR
PATH?
IF IT ISN’T CAN YOU
MODIFY THAT?
CAN YOU MAKE THE
CHANGE PERSISTENT?
CAN YOU SEE IF YOU
HAVE A CONTAINER
SOFTWARE AVAILABLE
ON YOUR SYSTEM?

CAN YOU CHECK


CONTAINER IMAGES?
CAN YOU RUN A
CONTAINER ON YOUR
SYSTEM?
CAN YOU VERIFY IT’S
RUNNING?
CAN YOU VERIFY THE
IMAGE YOU DOWNLOADED
IS THERE?
CAN YOU RUN A
CONTAINER ON YOUR
SYSTEM AS A DAEMON
WITH A DIFFERENT PORT?

CAN YOU VERIFY IT’S


WORKING ON THAT PORT?
QUESTIONS?

Best way to reach me is on Discord

You might also like