Modify file permissions
To modify a file’s permissions, the chmod command is used. Only the owner of the file and root can use this command. The syntax is simple: chmod PERMISSIONS FILE.
You can set file permissions in two ways: using numbers and letters.
Change permissions using numbers
With this method, each permission is assigned a number: r=4, w=2 and x=1. You use each set’s total number to assing the permission. For example, if you want to assign a read and write permissions, you would add the numbers representing these permissions (4+2=6).
Here is a table with all possible values:
Here are a couple of examples that will help you grasp the concept.
We have a file called bobs_file.txt. Since bob is the owner of the file, he can change the file’s permissions. We have removed all permissions from the file. Now we want to assign the following permissions:
owner – read, write, execute (4+2+1=7)
group – read, write (4+2=6)
other – read (4)
We can do that by using the following command:
Remember, the first number represents the owner, the second number represents the group, and the third number represents everyone else on the system.
Here is another example with the same file. Let’s say that we want to assign the following permissions:
owner – read, write (4+2=6)
group – read (4)
other – read, execute (4+1=5)
We can do that using the following command:
Change permissions using letters
You can also change permissions of a file using letters instead of numbers. The letter r represents the Read permission, the letter w the Write permission, and the letter x the eXecute permission. You use the operators +, –, and = to indicate whether you would like to add or remove a permission.
For example, lets say that we have the following permissions on bobs_file.txt:
owner – read, write
group – read, write
other – read
We want to add the write permission only to the others group. Well, we could do that simply by typing chmod 666 bobs_file.txt. We can also use operators to change only the permission of an individual class. The owner class is represented by the letter u, the group class by the letter g, and the other class by the letter o. So in this case, we can just use the following command: chmod o+w bobs_file.txt
You can assign permissions to more than one class at once:
In the example above we have added the execute permission for the owner and other classes.
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