授权公钥登录,sudo权限脚本


#!/bin/bash
##############################################################
# File Name: key_auth.sh
# Version: V1.0
# Author: Li Shi Chao
# Created Time : 2018-06-08 13:47:42
# 博客园地址:www.cnblogs.com/root0/p/
##############################################################
user='用户'
dir=/home/$user/.ssh
file=/home/$user/.ssh/authorized_keys
KEY='公钥'


check_user(){
if [ $USER == root ];then
echo " "
else
echo "use root execute" && exit 2
fi
}


add_user(){
check=`grep -wc "$user" /etc/passwd`
if [ $check -eq 0 ];then
useradd $user && id $user &>1
if [ $? -eq 0 ];then
echo "$user 创建成功!!!"
else
echo "$user 创建失败!!!"
fi
else
echo "用户 $user 已经存在,开始授权认证。"
fi
}


sudo_auth(){
mkdir $dir -p && chmod 700 $dir
touch $file && chmod 600 $file
chown -R $user.$user $dir
check_key=`grep -c "$KEY" $file`
if [ "$check_key" -eq 0 ];then
echo "$KEY" >> $file
echo "添加公钥成功"
else
echo "用户公钥已经存在"
fi


check_sudo=`grep -c "$user" /etc/sudoers`
if [ $check_sudo -eq 0 ];then
echo "$user ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
echo "sudo 权限添加成功"
else
echo "sudo权限已经存在"
fi
}


mail(){
check_user
add_user
sudo_auth
}
mail

 
原文地址:https://www.cnblogs.com/root0/p/9155653.html