Total Pageviews

Thursday, 14 August 2014

Remote server SSH login without password

SSH login without password
You want to use Linux and OpenSSH to automate your tasks.
Therefore you need an automatic login from host 172.19.7.xyz / user root (user of first server) to Host 172.19.7.acb / user root(user of second server). We don't want to enter any passwords, because we want to call ssh from a within a shell script.
How to do it
First log in on172.19.7.xyz as user root and generate a pair of authentication keys. Do not enter a passphrase:
Server01:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
Now use ssh to create a directory ~/.ssh as user root on 172.19.7.abc. (The directory may already exist, which is fine):
Server01:~> ssh root@172.19.7.abc mkdir -p .ssh
Server02's password:
Finally append a's new public key to root@172.19.7.abc:.ssh/authorized_keys and enter Sever02's password one last time:
Server01:~> cat .ssh/id_rsa.pub | ssh root@172.19.7.abc 'cat >> .ssh/authorized_keys'
Server02's password:
From now on you can log into 172.19.7.abc as root from 172.19.7.xyz as a without password:
Server01:~> ssh root@172.19.7.abc


A note from one of our readers: Depending on your version of SSH you might also have to do the following changes:
Put the public key in .ssh/authorized_keys2
Change the permissions of .ssh to 700
Change the permissions of .ssh/authorized_keys2 to 640

Wednesday, 6 August 2014

how to set Disk Quota:- This example shows to set it at /home.

[root@localhost ~]# vi /etc/fstab
 [root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Aug  6 22:20:17 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=0bb45273-d0fc-4329-95cf-e3570ccfd7f3 /                       ext4    defaults        1 1
UUID=6f7c1a9e-2c79-473d-b0ed-ca2bd1e32157 /boot                   ext4    defaults        1 2
UUID=9d064cb9-23f2-4e37-9224-0355159f1fc4 /home                   ext4    defaults,usrquota    1 2
UUID=dfdb72be-04a8-4d35-aa70-1716ef66fb50 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

 [root@localhost ~]#  rpm -qa | grep quota
quota-3.17-18.el6.x86_64
Ø  Although Red Hat supports quotas in the kernel by default but you can verify quota support from the kernel with the following command:
 [root@localhost ~]# grep -i config_quota /boot/config-`uname -r`
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
Ø  You now need to remount the /home file system before the changes take effect.
[root@localhost ~]# mount -o remount /home/
 [root@localhost ~]# mount
/dev/vda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/vda1 on /boot type ext4 (rw)
/dev/vda5 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/tmp on /tmp type none (rw,bind)
/var/tmp on /var/tmp type none (rw,bind)
/home on /home type none (rw,usrquota)
none on /sys/kernel/config type configfs (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
[root@localhost ~]# quotacheck -um /home  # create quota file
[root@localhost ~]# quotaon -uv /home         # enable disk quota
/dev/vda5 [/home]: user quotas turned on
[root@localhost ~]# quotaon -p –a          #  show status
group quota on /home (/dev/vda5) is off
user quota on /home (/dev/vda5) is on
[root@localhost ~]# useradd ashwini
[root@localhost ~]# passwd ashwini
Changing password for user ashwini.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# edquota ashwini                     # set user quota to a user 'ashwini'
 [root@localhost ~]# repquota –a                            # show status
*** Report for user quotas on device /dev/vda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
xguest    --      36       0       0              9     0     0
ashwini   --    1024   12000000 15000000             20     0     0
 [root@localhost ~]# useradd desiree
[root@localhost ~]# passwd desiree
Changing password for user desiree.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# edquota desiree     # set user quota to a user 'ashwini'
[root@localhost ~]# repquota –a             # show status
*** Report for user quotas on device /dev/vda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
xguest    --      36       0       0              9     0     0
ashwini   --    5148   12000000 15000000             20     0     0
desiree   --      48   12000000 15000000             12     0     0


[root@localhost ~]# useradd mohan
[root@localhost ~]# passwd mohan
Changing password for user mohan.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# edquota mohan      # set user quota to a user ' mohan '
[root@localhost ~]# repquota –a             # show status
*** Report for user quotas on device /dev/vda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
xguest    --      36       0       0              9     0     0
ashwini   --    5148  12000000 15000000            20     0     0
desiree   --      48  12000000 15000000             12     0     0
mohan     --      48   12000000 15000000            12     0     0


[root@localhost ~]# useradd devraj
 [root@localhost ~]# passwd devraj
Changing password for user devraj.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# edquota devraj       # set user quota to a user ' devraj '
[root@localhost ~]# repquota –a             # show status
*** Report for user quotas on device /dev/vda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
xguest    --      36       0       0              9     0     0
ashwini   --    5148   12000000 15000000            20     0     0
desiree   --      48   12000000 15000000           12     0     0
mohan     --      48   12000000 15000000             12     0     0
devraj    --      48   12000000 15000000             12     0     0

[root@localhost ~]# useradd sriram
[root@localhost ~]# passwd sriram
Changing password for user sriram.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# edquota sriram                       # set user quota to a user ' sriram  '
[root@localhost ~]# repquota –a                             # show status
*** Report for user quotas on device /dev/vda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0
xguest    --      36       0       0              9     0     0
ashwini   --    5148  12000000 15000000            20     0     0
desiree   --      48  12000000 15000000             12     0     0
mohan     --      48   12000000 15000000            12     0     0
devraj    --      48   12000000 15000000             12     0     0

sriram    --      48   12000000 15000000             12     0     0





Note: 1 Block size is 4kb(4096) it's depends on file system size. 

Here 15000000 KB is 15GB and 12000000KB= 12GB

Thursday, 17 July 2014

Linux Problem and Solution

Not Ablr to Do WInscp in /home folder.

Cannot create remote file '/home/DBD-Oracle-1.58.tar.gz.filepart'. 
Error message from server: 
Failure Request code: 3 
Abort Retry Skip Skip all Help


Here,  Inode table was full due to maximum number of file creation/rename/modification ( in terms of date, time) inside folder /home/MSDP_B25/csms/queue ( this folder which creating file)  after that /home does not have permission to go beyond  4122212 no of file.

Hence we have recreated /home file system and increased Inode tables from 4122212 to 30000820.

Now will not face any kind of problem which you were facing earlier.

Old Inode Table value for HOME partitions was.
[root@MSDP81 spool]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                     3276800  329997 2946803   11% /
tmpfs                 490370       3  490367    1% /dev/shm
/dev/vda1             128016      39  127977    1% /boot
/dev/mapper/VolGroup-lv_home
                     4177920 4177920       0  100% /home

New Inode Table value for HOME partitions

[root@MSDP81 ~]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                     3276800  330373 2946427   11% /
tmpfs                 490370       3  490367    1% /dev/shm
/dev/vda1             128016      39  127977    1% /boot
/dev/mapper/VolGroup-lv_home
                     30000832      12 30000820    1% /home
You have new mail in /var/spool/mail/root

Command to increase inodes.

mkfs -t ext4 -N <Number of INodes value which you want to increase> /dev/mapper/VolGroup-lv_home

Exmp:

1.  1.      First umount /home partition from file system.


2.    2.     mkfs -t ext4 -N 30000820 /dev/mapper/VolGroup-lv_home



Tuesday, 1 July 2014

Zombie Processes? Orphan process?

What are the Zombie Processes?


Note : Here number of Zombie Process is Zero.

On Unix and Linux systems, the zombie (or defunct) processes are dead processes that still apear in the process table, usually because of bugs and coding errors. A zombie process remains in the operating system and does nothing until the parent process determines that the exit status is no longer needed.
When does a process turn into a zombie?
Normally, when a process finishes execution, it reports the execution status to its parent process. Until the parent process decides that the child processes exit status is not needed anymore, the child process turns into a defunct or zombie process. It does not use resources and it cannot be schuduled for execution. Sometimes the parent process keeps the child in the zombie stateto ensure that the future children processes will not receive the same PID.
How to find and kill a zombie process:
You can find the zombie processes with ps aux | grep Z. The processes with Z in the STATE field are zombie processes:
$ ps aux | grep Z
How to kill a zombie process:
To kill a zombie process, find the zombie’s parent PID (PPID) and send him the SIGCHLD (17) signal: kill -17 ppid
I use this command to find a PPID: ps -p PID -o ppid
$  ps -p 20736 -o ppid

PPID

20735

$ kill -17 20735
Note: If you kill the parent of a zombie proceess, also the zombie process dies.

What are the Orphan Processes?

An Orphan Process is a process whose parent is dead (terminated). A process with dead parents is adopted by the init process.
When does a process become an orphan process?
Sometimes, when a process crashes, it leaves the children processes alive, transforming them into orphan processes. A user can also create a orphan process, by detaching it from the terminal.
How to find orphaned processes:
This command will not display only the orphaned processes, but all the processes having the PPID 1 (having the init process as it’s parent).
$ ps -elf | awk '{if ($5 == 1){print $4" "$5" "$15}}'

298 1 upstart-udev-bridge

302 1 udevd

438 1 /usr/sbin/sshd

[...]
Orphan processes use a lot of resources, so they can be easily found with top or htop. To kill an orphaned process, use kill -9 PID.


What are PID and PPID? / Child and Parent Process

What are PID and PPID?
If you have ever opened System Monitor or top you no doubt noticed a column named ID or PID containing a list of numbers. You might even see a value called PPID. What do these numbers mean?
Here is a short explanation of these Linux terms.
In Linux, an executable stored on disk is called a program, and a program loaded into memory and running is called a process. When a process is started, it is given a unique number called process ID (PID) that identifies that process to the system. If you ever need to kill a process, for example, you can refer to it by its PID. Since each PID is unique, there is no ambiguity or risk of accidentally killing the wrong process (unless you enter the wrong PID).
If you open top (in a terminal, type top and press enter), the PID column lists the process IDs of all processes currently loaded into memory regardless of state (sleeping, zombie, etc.). Both daemons (system processes) and user processes (processes you started either automatically or manually) have their own process IDs. The PIDs are not always assigned in numerical order, so it’s normal to see what appears to be a random selection of numbers.

init
One very important process is called init. init is the grandfather of all processes on the system because all other processes run under it. Every process can be traced back to init, and it always has a PID of 1. The kernel itself has a PID of 0.
What is the PPID?
In addition to a unique process ID, each process is assigned a parent process ID (PPID) that tells which process started it. The PPID is the PID of the process’s parent.
For example, if process1 with a PID of 101 starts a process named process2, then process2 will be given a unique PID, such as 3240, but it will be given the PPID of 101. It’s a parent-child relationship. A single parent process may spawn several child processes, each with a unique PID but all sharing the same PPID.

Why is the PPID Important?
Occasionally, processes go bad. You might try to quit a program only to find that it has other intentions. The process might continue to run or use up resources even though its interface closed. Sometimes, this leads to what is called a zombie process, a process that is still running, but dead.
One effective way to kill a zombie process is to kill its parent process. This involves using the ps command to discover the PPID of the zombie process and then sending a kill signal to the parent. Of course, any other children of the parent process will be killed as well.
pstree
pstree is a useful program that shows the relationship of all processes in a tree-like structure.

Give it a try to see how processes are arranged on your system. Processes do not float by themselves somewhere in memory. Each one has a reason for its existence, and a tree view helps show how it relates to others.
pstree supports options to adjust the output, so check man pstree for more details. Entering the following command lists the PID with each process and organizes processes by their ancestors (numerically) to show their relationship with each other.
pstree -pn

htop
For simpler process management and a better way to see how processes are organized, have a look at the program htop, which displays PID, optional PPID, process tree view, and much more information in glorious color!

Htop showing processes arranged in tree view along with PID and PPID.