Permissions basics
Permissions in Linux are designed to keep users from accessing other users’ private files and to protect important system files. They are managed in three classes:
- user – determines what the file’s owner can do with the file.
- group – determines what the members of the file’s group can do with the file.
- others (world) – determines what everyone else on the Linux system can do with the file.
There are three specific permissions in Linux:
- read – grants the ability to read a file. When set for a directory, users are allowed to list the directory’s content.
- write – grants the ability to modify a file. When set for a directory, users are allowed to add or remove files in the directory.
- execute – grants the ability to execute a file. When set for a directory, users are allowed to access file contents and metainfo if its name is known, but not to list files inside the directory (unless the read permission is set).
You assign read, write or execute permission to each of the class of users. For example, you can give the owner of the file full permissions (read, write and execute) over the file, give the group read and write permissions and deny any type of access to the others class.
Linux course
- Overview
- What is Linux?
- Differences between Linux and Windows
- Differences between Unix and Linux
- Linux distributions
- Linux kernel
- File structure in Linux
- Filesystem Hierarchy Standard (FHS)
- Installation
- Change the boot order in BIOS
- Install Ubuntu
- Install CentOS on VMware Player
- Login to Ubuntu
- Shell
- The shell in Linux
- Bourne-again shell (Bash)
- Start the shell in Ubuntu
- Essential Linux commands
- Command line history
- Manual pages
- info command
- Manage directories
- Manage files
- Environment variables
- Common environment variables
- PATH environment variable
- Inode
- Links
- Hard links
- Symbolic links
- Wildcard
- Streams
- Redirect input and output
- Pipe data between programs
- Sort lines of a text file
- Search for text strings using grep
- Search for files using find
- Search for files using locate
- Count lines in a file
- Determine file type
- whereis command
- Display last lines of a text file
- Display first lines of a text file
- Split the output of a program
- Editing text
- Text editors
- gedit text editor
- KWrite text editor
- Pico text editor
- nano text editor
- less text viewer
- Managing processes
- What is a process?
- List all running processes
- top command
- Kill a process in Linux
- Kill a process by name
- Change process priority
- Background and foreground processes
- jobs command
- Install applications
- Package managers
- RPM Package Manager
- yum package manager
- Debian package manager
- Advanced Packaging Tool (APT)
- apt-cache command
- apt-get command
- dselect
- aptitude
- Synaptic Package Manager
- tar (tape archive) program
- cpio program
- Convert between packages
- Manage users
- root account
- Create users
- Delete users
- Modify users
- Manage passwords
- /etc/passwd file format
- /etc/shadow file format
- Change passwords
- Manage groups
- Linux groups
- Create groups
- Delete groups
- Modify groups
- /etc/group file format
- Administer groups
- Customize a user's work environment
- Permissions
- UID (User Identifier) and GID (Group Identifier)
- Manage file ownership
- Change file ownership
- Permissions basics
- Permission bits
- Identify file type
- Modify file permissions
- Set the default permissions for newly created files
- Change file attributes
- Manage hardware
- proc filesystem (procfs)
- IRQ (Interrupt Request)
- I/O ports
- DMA (Direct Memory Access)
- Kernel modules
- Load kernel modules
- Remove kernel modules
- Identify CPU
- Find out more information about your system
- Display information about USB devices
- Boot Linux
- GRUB version 1
- GRUB version 2
- Alternative boot loaders
- dmesg command
- Runlevels
- /etc/inittab
- Change runlevel
- Network protocols
- What is an IP address?
- What is a MAC address?
- What is DHCP?
- What is DNS?
- Basic networking
- ifconfig command
- Configure a static IP address in Ubuntu
- Configure DHCP client on Ubuntu
- Configure DNS settings
- /etc/hosts file
- Configure hostname
- Network tools
- ping command
- traceroute command
- host command
- dig command
- nslookup command
- netstat command
- tcpdump command
- whois command
- IP forwarding
- Overview of file systems
- File system
- ext2fs
- ext3fs
- ext4fs
- Reiser file system
- XFS file system
- JFS file system
- FAT file system
- NTFS file system
- ISO-9660 file system
- Disk partitioning
- What is partitioning?
- Swap partition
- Hard disk interfaces
- MBR partitions
- GPT partitions
- Configure hard disks
- fdisk utility
- GNU Parted utility
- Create a file system
- Mount a file system
- /etc/fstab file
- Mount a USB device
- Check disk space
- Check file disk usage
- Check file systems
- Obtain file system information
- Adjust file system parameters
- Debug a file system
- Configure disk quotas
- Disk quotas
- Enable quota support
- Set quotas
- Disk quota reporting
- Logging
- syslog protocol explained
- syslogd
- rsyslog
- Create a log entry
- Rotate logs
- Common log files
- /var/log/messages file
- Schedule jobs
- Schedule jobs with cron
- User cron jobs
- Schedule jobs with anacron
- Schedule jobs with at
- Date and time
- date and hwclock commands
- Network Time Protocol (NTP)
- Configure NTP client
- Configure NTP server
- Email protocols
- Mail server
- Read and send mail
- Redirect email
- Shell scripting
- Shell scripts
- Create shell scripts
- Write shell scripts
- if statement
- case statement
- for loop
- while loop
- until loop
- Miscellaneous
- Show the full path of shell commands
- Remove duplicate lines from a text file
- Join lines of two files
- Merge files line by line
- Convert tabs to spaces
- Prepare a file for printing
- Split a file into two or more files
- Archive a filesystem
- Filter text
- Shut down the system
- Halt, reboot, and power off the system
- Create aliases
- Octal dump
- Number lines in a file
- Measure time of program execution
- Change characters
- Reformat paragraphs
- type command