Ques 1. What is the difference between umask and ulimit ?
umask stands for ‘User file creation mask’, which determines the settings of a mask that controls which file permissions are set for files and directories when they are created. While ulimit is a linux built in command which provides control over the resources available to the shell and/or to processes started by it.
You can limit user to specific range by editing /etc/security/limits.conf at the same time system wide settings can be updated in /etc/sysctl.conf
Ques 2. What are the run levels in linux and how to change them ?
A run level is a state of init and the whole system that defines what system services are operating and they are identified by numbers.There are 7 different run levels present (run level 0-6) in Linux system for different purpose. The descriptions are given below.
0: Halt System (To shutdown the system)
1: Single user mode
2: Basic multi user mode without NFS
3: Full multi user mode (text based)
5: Multi user mode with Graphical User Interface
6: Reboot System
To change the run level, edit the file “/etc/inittab” and change initdefault entry ( id:5:initdefault:). If we want to change the run level on the fly, it can be done using ‘init’ command.
For example, when we type ‘init 3′ in the commandline , this will move the system from current runlevel to runlevl 3. Current level can be listed by typing the command ‘who -r’
Ques 3. What is the functionality of a Puppet Server ?
Puppet is an open-source and enterprise application for configuration management toll in UNIX like operating system. Puppet is an IT automation software used to push configuration to its clients (puppet agents) using code. Puppet code can do a variety of tasks from installing new software, to check file permissions, or updating user accounts and lots of other tasks.
Ques 4. What is SeLinux?
SELinux is an acronym for Security-enhanced Linux. It is an access control implementation and security feature for the Linux kernel. It is designed to protect the server against misconfigurations and/or compromised daemons. It put limits and instructs server daemons or programs what files they can access and what actions they can take by defining a security policy.
Ques 5. What is crontab and explain the fields in a crontab ?
The cron is a deamon that executes commands at specific dates and times in linux. You can use this to schedule activities, either as one-time events or as recurring tasks. Crontab is the program used to install, deinstall or list the tables used to drive the cron daemon in a server. Each user can have their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly. Here are few of the command line options for crontab.
crontab -e Edit your crontab file. crontab -l Show your crontab file. crontab -r Remove your crontab file.
Traditional cron format consists of six fields separated by white spaces:
The format is explained in detail below.
* * * * * *
| | | | | |
| | | | | +– Year (range: 1900-3000)
| | | | +—- Day of the Week (range: 1-7, 1 standing for Monday)
| | | +—— Month of the Year (range: 1-12)
| | +——– Day of the Month (range: 1-31)
| +———- Hour (range: 0-23)
+———— Minute (range: 0-59)
Ques 6. What are inodes in Linux ? How to find the inode associated with a file ?
An inode is a data structure on a filesystem on Linux and other Unix-like operating systems that stores all the information about a file except its name and its actual data. When a file is created, it is assigned both a name and an inode number, which is an integer that is unique within the filesystem. Both the file names and their corresponding inode numbers are stored as entries in the directory that appears to the user to contain the files. The concept of inodes is particularly important to the recovery of damaged filesystems. When parts of the inode are lost, they appear in the lost+found directory within the partition in which they once existed.
The following will show the name of each object in the current directory together with its inode number:
# ls -i
The avialble number inodes in a filesystem can be found using the below command :
# df -i
The other way we can get the inode details of a file by using the stat commmand.
Usage : # stat
-sh-4.1$ stat note.txt File: `note.txt' Size: 4 Blocks: 8 IO Block: 4096 regular file Device: fd05h/64773d Inode: 8655235 Links: 1 Access: (0644/-rw-r--r--) Uid: (69548/nixuser) Gid: (25000/ UNKNOWN) Access: 2014-06-29 15:27:56.299214865 +0000 Modify: 2014-06-29 15:28:28.027093254 +0000 Change: 2014-06-29 15:28:28.027093254 +0000
Apart from the above basic questions, be prepared for answers for the below questions
1. How to set linux file/directory permissions ?
2. How to set ownership for files/directories ?
3. How to create user/group and how to modify it ?
4. How to find kernel / OS version and its supported bit (32/64) version ?
5. How to set / find interface ip address ?
6. How to find linux mount points and disk usage ?
7. What command to find memory and swap usage ?
8. Have a look on ps, top, grep, find, awk and dmesg commands ?