授权公钥登录,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=lishichao
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 -c "lishichao"  /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
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
else
  echo "sudo权限已经存在"
fi
}

mail(){
check_user
add_user
sudo_auth
}
mail

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

时间: 2024-08-02 18:43:40

授权公钥登录,sudo权限脚本的相关文章

centos7 创建普通用户,添加sudo权限,禁止root远程登录和公钥登录脚本

笔记: groupadd 6lxx useradd -s /bin/sh -d /home/6lxx -g 6lxx -m 6lxx echo "KFi0Tu45"|passwd --stdin 6lxx sed  -i '/^root/a\6lxx   ALL=(ALL)       ALL' /etc/sudoers sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config cat /etc/s

centos 6.x 7.x 批量添加用户 开启sudo 权限 并设置密匙登录

需求背景: 局域网内全公司有50余台Linux服务器,现在有两个运维人员,之前都是使用root账号登录来管理服务器,现在想在每台服务器添加各自的账号,开启sudo权限,并设置密钥登录(密钥提前准备好了). 需求分析: 功能其实很简单,但是如果逐一登录服务器去配置,一台服务器5分钟,50台我已经不敢想象了--,所以想办法弄得简单些. 搭建简单ftp服务器: 本机利用IIS建立一个ftp服务器,把shell脚本,和管理员公钥放进去,注意允许ftp通过防火墙(详细步骤略)5分钟内可以完成本步骤:浏览器

设置ssh证书登录,禁止root登录,禁止su到root,sudo权限设置

一.设置ssh证书登录,禁止root登录 useradd newuser passwd newuser vim /etc/ssh/sshd_config PermitRootLogin no RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no ClientAliveInterval 30 ClientAliveCountMax 5 二.禁止su vim /etc/pam.d/su auth requir

Adminrun 提升命令行下运行权限脚本

为什么提升权限? 因为很多小工具,如果调用了系统的硬件,都需要申请管理员权限.换句话说,必须由管理员下达这个命令才能正常执行,否则就会提示"以管理员身份运行". 为了尽可能的保证用户们可以正常使用,而不是因为不知道如何正确运行而抱怨软件问题. 众所周知,在Windows Vista版本之后的所有Windows都加入了权限管理控制系统,这样在一定程度上防止了后台运行高级脚本的可能性.但是既然是利用图形化界面来完成的工作(鼠标右键->以管理员身份运行),就一定可以用脚本和命令行来实现

配置公钥登录提示还是输入密码

一.知识点补充: 在客户端来看,SSH提供两种级别的安全验证 第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密. 第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上. 二.问题描述 集群一台主节点master,用到第二种级别,运行的用户是hadoop2,现在配置了公钥登录后,ssh连接还是显示输入密码. 三.问题呈现 1.生成免密钥对 [[email protected] ~]$ 

登录远程服务器脚本

ssh登录远程服务器脚本 最近由于工作需要经常登录公司跳板机,每次登录都要输入账号密码,因此想到写一个脚本来自动登录 1)安装依赖包expect 查看当前环境是否有依赖包 whereis expect 如果没有需要使用以下命令安装(ubuntu下) sudo apt-get install expect 2)编写自动登录脚本login.sh #!/usr/bin/expect -f # 设置ssh连接的用户名 set user liuzz # 设置ssh连接的host地址 set host 8.

sudo 权限的管理

一.sudo执行命令的流程将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户.具体工作过程如下:当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限-->确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认-->若密码输入成功,则开始执行sudo后续的命令 二.不需要输入密码的情况1.root执行sudo时不需要输入密码(eudoers文件中有配置root

Linux用户配置sudo权限(visudo)

sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 3,若密码输入成功,则开始执行sudo后续的命令 4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则) 5,若欲切换的身份与执行者的身份相同,也不需要输入密码 visudo使用vi打开/etc/sudoers文件,但是在保存退出时,

linux基础-给普通用户组分配sudo权限

在root用户登录下, 输入 vim /etc/sudoers  ,在root    ALL=(ALL)   ALL 这一行后面按着这种格式加上你要添加sudo权限的的用户组名称. eg:给 用户组为test分配sudo权限 test ALL=(ALL) ALL 注意:指令都是大写的.