LPIC-1 102-500 Exam
Study another certificationProgress0%
Recent accuracy0%
Review due0questions
Answered0 / 295questions
Practice by topic
105 Shells and shell scriptingShell customization and introductory shell scripts.
106 User interfaces and desktopsX11, graphical desktops, and accessibility.
107 Administrative tasksAccounts, job scheduling, and localization.
108 Essential system servicesTime, logging, MTA, and printing.
109 Networking fundamentalsInternet protocols, persistent configuration, troubleshooting, and DNS.
110 SecuritySecurity administration, host protection, and encryption.
Practice by topic
Practice settings
Question count
10questions1295questions
This session: 10questions / eligible: 295 questions
Learning modes
Quick practice
Start quick practice
Question count
10questions1295questions
This session: 10 questions / pool: 295 questions
Review
Start review
Question count
0questions00questions
This session: 0 questions / pool: 0 questions
Browse questions by objective
Choose a topic to read an individual question, its hints, and explanations. No session setup is required.
105.1 Shell environment customization18 questions
- Choosing the user startup file for a login shell
- Configuring an interactive non-login Bash
- Choosing a system-wide login setting
- Configuring interactive Bash for all users
- Applying settings to the current shell
- Passing a variable to child processes
- Removing a shell variable
- Changing the environment for one command
- Appending a directory while preserving PATH
- Finding all command-resolution candidates
- Defining an alias for a long command
- Removing one defined alias
- Defining a Bash function with arguments
- Exporting a function to child Bash
- Listing current shell definitions
- Managing the home template for new users
- Configuring logout processing
- Sharing interactive settings with login Bash
105.2 Shell scripting22 questions
- Selecting Bash as a script interpreter
- Adding execute permission for the owner
- Referencing a script's first argument
- Counting received arguments
- Passing all arguments without losing boundaries
- Assigning command output to a variable
- Reading the previous command's exit status
- Branching on a command result
- Testing for a regular file
- Comparing a string with a required value
- Testing whether an integer exceeds a threshold
- Processing every argument in order
- Reading input lines without alteration
- Branching on several string patterns
- Removing processed positional arguments
- Parsing short options
- Running the next step only after success
- Running cleanup only after failure
- Exiting explicitly on a usage error
- Replacing the script process with another command
- Notifying an administrator only after a failed check
- Installing an administration script with safe permissions
106.1 Desktop environment10 questions
- Distinguishing X11 clients and servers
- Selecting a local X display and screen
- Pointing an X client at a remote X server
- Allowing an X server connection from one host
- Listing X11 authentication cookies
- Selecting the traditional Xorg main configuration file
- Overriding an Xorg keyboard layout
- Checking user X session errors
- Distinguishing a display manager and window manager
- Comparing Wayland with X11
106.2 Desktop environment6 questions
106.3 Desktop environment5 questions
107.1 User and group management24 questions
- Reading the passwd record fields
- Identifying the shadow password field
- Reading supplementary group members
- Obtaining user information through NSS
- Adding a user with a home directory
- Creating a home at a specified path
- Selecting a new user's login shell
- Assigning a UID to a new user
- Assigning an existing group as primary
- Adding supplementary groups during creation
- Appending a supplementary group
- Distributing initial files to new homes
- Locking password authentication
- Unlocking a password
- Moving an existing home directory
- Deleting a user and home
- Creating a group with a specified GID
- Renaming an existing group
- Removing an unused group
- Listing password aging information
- Setting the maximum password age
- Setting an account expiration date
- Creating a non-interactive system account
- Checking password status without changing it
107.2 Job scheduling20 questions
- Reading user crontab time fields
- Reading the execution user in system crontab
- Running a job every 15 minutes
- Running a job on weekday mornings
- Editing the current user's crontab
- Placing a package cron job
- Determining cron access permission
- Placing a daily administration script
- Defining PATH for cron
- Listing the current user's cron entries
- Scheduling a one-time job
- Listing queued at jobs
- Cancelling one at job
- Determining at access permission
- Running a systemd timer daily
- Catching up on missed calendar runs
- Selecting a service for a timer
- Listing systemd timer schedules
- Enabling and starting a timer
- Creating a one-time transient timer
107.3 Localization and time14 questions
- Checking current locale settings
- Determining locale-variable precedence
- Selecting string collation order
- Reducing locale dependence in a script
- Checking the current character encoding
- Converting a text file to UTF-8
- Distinguishing Unicode and UTF-8
- Understanding ASCII and UTF-8 compatibility
- Running one command in UTC
- Locating timezone data
- Identifying the current system timezone data
- Storing a timezone identifier as text
- Changing the system timezone
- Choosing a timezone identifier
108.1 Localization and time14 questions
- Displaying the current time in a format
- Displaying the current time as UTC
- Checking overall system time status
- Setting the system clock
- Reading the hardware clock
- Saving system time to a UTC RTC
- Setting system time from the RTC
- Identifying the ntpd configuration file
- Identifying the chronyd configuration file
- Configuring an NTP pool
- Checking ntpd peer status
- Checking chronyd synchronization sources
- Checking chrony tracking status
- Querying an NTP server without changing the clock
108.2 System logging20 questions
- Identifying the rsyslog main configuration
- Splitting rsyslog configuration into drop-ins
- Logging authentication messages
- Reading syslog priority thresholds
- Forwarding all messages over TCP
- Enabling rsyslog UDP reception
- Sending a message with facility and priority
- Selecting the kernel log facility
- Excluding facilities from a general log
- Checking rsyslog configuration before restart
- Showing the current boot's journal
- Showing a service's journal
- Showing error-and-more-severe journal entries
- Showing journal entries after a time
- Keeping the journal across reboots
- Limiting persistent journal size
- Reading a journal from a mounted rescue system
- Sending command output to the journal
- Keeping four compressed weekly log generations
- Rotating a log without reopening the process
108.3 Mail Transfer Agent basics12 questions
- Identifying the role of an MTA
- Choosing common Linux MTAs
- Defining a local alias
- Rebuilding an alias database
- Expanding one alias to multiple recipients
- Configuring per-user mail forwarding
- Writing a forwarding address
- Creating a message with a subject
- Listing the mail delivery queue
- Selecting the sendmail-compatible mailq option
- Reading recipients from message headers
- Choosing the sendmail option equivalent to newaliases
108.4 Printer and print management8 questions
109.1 Internet protocol fundamentals20 questions
- Calculating usable hosts in a /24 subnet
- Selecting the netmask for /27
- Calculating an IPv4 network address
- Identifying a private IPv4 address
- Selecting the IPv6 loopback address
- Identifying the IPv6 link-local prefix
- Choosing a TCP characteristic
- Identifying the protocol used by ping
- Selecting DNS transport and port
- Matching common services and ports
- Matching FTP control and data ports
- Identifying the Telnet port
- Distinguishing SMTP ports
- Matching mail-retrieval protocols
- Matching TLS mail-retrieval ports
- Selecting NTP transport and port
- Identifying NetBIOS Session Service
- Matching LDAP and LDAPS ports
- Matching SNMP requests and traps
- Selecting the classic syslog port
109.2 Persistent network configuration20 questions
- Listing NetworkManager device status
- Listing saved connection profiles
- Activating a connection profile
- Stopping an active connection
- Configuring a static IPv4 profile
- Enabling automatic IPv4 configuration
- Appending a DNS server to a profile
- Ignoring DNS supplied by DHCP
- Setting a static hostname
- Identifying the persistent hostname file
- Writing a hosts-file mapping
- Setting host-name lookup order
- Selecting a DNS resolver server
- Setting resolver search domains
- Enabling DHCP with networkd
- Configuring static IPv4 with networkd
- Placing an administrator networkd file
- Starting an interface with the legacy method
- Reloading connection profiles from disk
- Enabling automatic connection for a profile
109.3 Network troubleshooting22 questions
- Listing network interface link state
- Checking addresses on a specific interface
- Displaying the kernel routing table
- Bringing an interface link up
- Adding a runtime IPv4 address
- Adding a runtime default route
- Listing listening TCP sockets numerically
- Listing listening UDP sockets numerically
- Sending a fixed number of ICMP echo requests
- Finding the hops to a destination
- Checking path MTU
- Testing a remote TCP port
- Listing all interfaces with a legacy tool
- Displaying a legacy routing table numerically
- Checking a TCP listener with a legacy tool
- Sending a fixed number of IPv6 echo requests
- Tracing an IPv6 path
- Checking a neighbor cache by interface
- Checking TCP and UDP listeners with processes
- Listening on a local TCP port
- Displaying configured addresses briefly
- Troubleshooting from the local link to a remote service
109.4 DNS client troubleshooting10 questions
- Querying an A record with dig
- Querying a specific DNS server directly
- Displaying only the answer value with dig
- Querying an MX record with host
- Resolving a hostname through NSS
- Investigating DNS success but NSS failure
- Inspecting systemd-resolved DNS state
- Querying a name through systemd-resolved
- Distinguishing a local override from a DNS result
- Tracing DNS delegation from the root
110.1 Security16 questions
- Auditing SUID files
- Auditing SGID executables
- Locking password authentication
- Displaying password aging information
- Setting password expiration and warning days
- Scanning local TCP ports
- Auditing listening ports and processes
- Identifying a process using a TCP port
- Inspecting the process behind a TCP listener
- Writing login and process limits
- Displaying the process limit for a shell
- Setting a soft virtual-memory limit
- Checking logged-in users and current commands
- Checking login and logout history
- Editing sudoers safely
- Listing permitted sudo commands
110.2 Security14 questions
- Identifying a shadow-password setup
- Protecting the password-hash file
- Temporarily stopping new logins for ordinary users
- Stopping and disabling an unused service
- Preventing manual service starts
- Listing socket-activated listeners
- Preventing socket-triggered service starts
- Disabling an xinetd service
- Loading xinetd service files
- Restricting xinetd connection sources
- Determining the TCP Wrappers evaluation order
- Allowing an SSH source network
- Configuring a TCP Wrappers default deny
- Checking whether TCP Wrappers applies
110.3 Secure remote access20 questions
- Connecting as a specified SSH user
- Changing the SSH destination port
- Defining an SSH client alias
- Removing an obsolete known_hosts entry
- Identifying an SSH server host key
- Generating an Ed25519 user key pair
- Adding a client public key to the login allowlist
- Restricting SSH private-key permissions
- Setting ssh-agent variables in the current shell
- Registering a private key with ssh-agent
- Listing ssh-agent identities
- Creating local port forwarding
- Creating remote port forwarding
- Enabling untrusted X11 forwarding
- Generating a GnuPG key pair interactively
- Creating an OpenPGP revocation certificate
- Encrypting a file with a recipient's public key
- Decrypting an OpenPGP file
- Creating a detached signature
- Verifying a detached signature