The open-source OS.
- 1 Linux Monitoring Tools
- 2 SELinux
- 3 RSysLog
- 4 User Management
- 5 Package Installer
- 6 Favourite Commands
- 7 How to Determine chmod Code
Linux Monitoring Tools
grep - search and sort for a string
- will recursively search / for string printing the results to the terminal; the -i flag will ignore case sensitivity
sudo find / | grep -i 'string'
tail - live view of file
- will give you a scrolling view of the logfile; as new lines are added to the file, they will show up in your console screen
tail -f 'path to file'
ls - list directory contents
- long list format with owner and permission details
- show hidden folders and files as well
ps - report a snapshot of the current processes
- for current user only
- for all users
- for all processes even those not associated with a terminal
See Also Linux_Monitoring_Tools for details and analysis on using ps
rm - remove files or directories
- for a single file
- removes directory and all contents USE CAUTION
rm -r "directory"
- forces the operation to delete unwriteable files USE EXTREME CAUTION
rm -rf "directory"
chown - change the user and/or group ownership
- change the file owner
chown "Owner" "file"
- change the file owner and group
chown "Owner":"Group" "file"
- change a folder and contents USE CAUTION
chown -R "Owner":"Group" "directory"
chmod - change access permissions
- readable, writable, and executable by owner, group, and world
chmod 777 "file"
- make a file executable
chmod +x "file"
- change a folder and recursively apply to subfolders and subfiles USE CAUTION
chmod -R 744 "directory"
How to Determine chmod Code
chmod is a tricky function in it allows you to alter file and folder permissions based on numbers, but these numbers are actually not just nonsense and are based on a pattern that can be easily recognized to produce all file permissions desired by the implementer.
chmod uses 3 numbers to set its permissions (eg. 777). Each number is an octal value that maps to read,write and execute permissions for 3 user groups. Each of the 3 numbers is the permission for each group.
- The first number sets permissions for the owner/creator of the file or folder. This may be root, but if user implemented is typically that user.
- The second number sets permissions for the group that the file or folder is part of. For example files created in the /etc/apache or /var/www folders are typicaly part of the www-data or apache usergroup
- The third number sets permissions for all other users. These can be anyone who is not the owner or part of the group that the folder or file belongs to. Typicaly for most user created files this is the field you will be editing because usually it is for other programs needing access to the file you have created that is not part of any groups
So each number then is an octal number (0-7) but this can be represented in binary needing 3 bits (0-7 in base10 = 000-111 in base2). These 3 bits that make up the number for the group then determine he permission of the group. Each bit represents the following permission:
- First bit is Read permission. 1 means it is enabled 0 means disabled
- Second bit is Write permission. 1 means it is enabled 0 means disabled
- Third bit is Execute permission. 1 means it is enabled 0 means disabled
Lets give a file Read/Write/Execute to itself, Read/Execute to the group and Read to all others.
- Read/Write/Execute = 111 = 7. First number is 7
- Read/Execute for the group = 101 = 5. Second number is 5
- Read for all others = 100 = 4. Third number is 4
Therefor to set this permission we need
chmod 754 <name of file>