1、ssh 秘钥登录授权

将此代码片更名为  adduser.sh 放在linux的 /root 目录下

#!/bin/sh

echo 'ssh-key:' $1
echo 'username:' $2 useradd -m $2
usermod -G wheel $2
passwd -d $2 mkdir /home/$2/.ssh
echo $1 > /home/$2/.ssh/authorized_keys
chmod 600 /home/$2/.ssh/authorized_keys
chown $2:$2 /home/$2/.ssh -R

然后执行命令 visudo  进入后, 去掉该注释

则添加用户的命令如下 

bash adduser.sh "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyr4a3fAXuZg9McgTRHCzIkKTNVkUCPeRbA+9AuFOUOT4VXb2sykMrB5subAUtTU2d/88z5X9dUjw0K1a17RR7zKaWLt1BkSDLr6/LOJRoNM1zbVSH3THB6eefaZGJaob1j7J4XZkOHXrYTn+Gtu6tWDaboHY+ekX7S4hHtIM0VVNNRdf4Nv9zgpSPFmhjVmFqizeMmnYplTd1N1y4HJMP1uqq1oqC0UNqpab/k5smbWDEKFUyDqk8E2kaG+4IE4bZATpT45wygovq4IFK1xDwoZTYbMu9XrG9V3fKIr4KG1KQytSTah93oyBK6zmwLsxEjvMi1KGP54w==" jeffery

这样的话, 使用 普通用户(如上 jeffery) 使用 sudo -i 则具备了, root 的权限

2、Centos7.X 关闭 selinux

1、查看

[root@dev-server ~]# getenforce
Disabled
[root@dev-server ~]# /usr/sbin/sestatus -v
SELinux status: disabled

2、临时关闭

##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
setenforce 0

3、永久关闭

vi /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled 
设置后需要重启才能生效

centos 7.0 查看selinux状态|关闭|开启

Linux在安装好之后通常SELinux都是出于默认开启的状态,开启的情况下会导致一些服务的安装不成功。

在不需要的情况下完全可以关闭掉,下面是在centos 7.0里面如何查看,关闭selinux。

查看selinux状态

[root@localhost ~]# sestatus  
SELinux status:                 enabled  
SELinuxfs mount:                /sys/fs/selinux  
SELinux root directory:         /etc/selinux  
Loaded policy name:             targeted  
Current mode:                   enforcing  
Mode from config file:          enforcing  
Policy MLS status:              enabled  
Policy deny_unknown status:     allowed  
Max kernel policy version:      28

临时关闭

[root@localhost ~]# setenforce 0

可以修改配置文件/etc/selinux/config,将其中SELINUX设置为disabled。永久关闭

3、更改 ssh 默认端口

vi /etc/ssh/sshd_config

Port 默认端口 22 改为了 端口:20002

重启 ssh 服务

systemctl restart sshd.service

4、防火墙授权新端口 20002

查看已经授权的端口

firewall-cmd --list-ports

授权新端口 20002

firewall-cmd --zone=public --add-port=20002/tcp --permanent

重新加载防火墙配置

firewall-cmd --reload

再次查看防火墙已经授权的端口

firewall-cmd --list-ports

5、禁止root登录;禁止密码登录

禁止root登录

编辑远程服务器上的sshd_config文件:

vi /etc/ssh/sshd_config

PermitRootLogin yes改为no

PermitRootLogin no

编辑保存完成后,重启ssh服务使得新配置生效,然后就无法使用口令来登录ssh了

禁止密码登录

编辑远程服务器上的sshd_config文件:

vi /etc/ssh/sshd_config

PasswordAuthentication yes改为no

PasswordAuthentication no

编辑保存完成后,重启ssh服务使得新配置生效,然后就无法使用口令来登录ssh了

授权普通用户 sudo -i 使其具有root的权限的更多相关文章

  1. 修改php执行用户,并使其拥有root权限

    useradd apachephp vi /etc/httpd/conf/httpd.conf 将组和用户修改成apachephp,重启apache,然后用lsof -i:80查看apache的执行用 ...

  2. sudo user1账号获得管理员root的权限

    user1虽然有sudo权限,但不是真正的root权限,修改内核参数之类的就做不了 但是有sudo权限就可以添加账号,以下添加了admin账号与root账号一样的权限 useradd -u 0   - ...

  3. linux添加到普通用户sudo才干

    在超级用户模式添加到普通用户sudo才干 1. su -(进root用户) 2. chmod u+w /etc/sudoer 3. vim /etc/sudoers 于root ALL=(ALL) A ...

  4. linux 添加用户并设置主目录,shell 并赋予权限 (以 fedora 和 ubuntu 为例)

    环境 centos 7.6 添加用户: [root@localhost ~]# useradd -d /home/yaoxu -m -s /bin/bash yaoxu 更改用户密码: passwd ...

  5. ubuntu系统普通用户sudo命令执行报错解决方案

    通过adduser user1命令创建普通用户,且使该用户具有sudo权限(将该新用户user1添加到sudo或root用户组中,或者修改/etc/sudoer文件),但是依然无法执行sudo指令,会 ...

  6. iOS 获取用户授权的用户隐私保护-地图定位

    获取用户授权的用户隐私保护地图定位示例://导入定位框架#import<CoreLocation/CoreLocation.h>@interfaceViewController()< ...

  7. Ubuntu 设置当前用户sudo免密码

    方法1 # 备份 /etc/sudoers sudo cp /etc/sudoers . #打开 /etc/sudoers sudo visudo # 在文件末尾加入 kube ALL=NOPASSW ...

  8. MySQL新建用户,授权,删除用户,修改密码

    首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的.注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.    用户:phplamp  用户数据库: ...

  9. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Passw ...

  10. Magicodes.WeiChat——WeChatOAuthTest(网页授权获取用户基本信息)

    Demo访问地址:http://wechat.magicodes.net/app/AppDemo/WeChatOAuthTest?tenantId=1 关于公众号如何获取用户信息,请参考此文档:htt ...

随机推荐

  1. 许可协议 :GPL、BSD、MIT、Mozilla、Apache和LGPL

    原文摘自:https://blog.csdn.net/testcs_dn/article/details/38496107 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BS ...

  2. socket.timeout: The read operation timed out完美解决方案【转】

    原博: https://blog.csdn.net/qq_44588905/article/details/113783373 更换 pip 源自国内镜像,在 pip install 后面添加 -i ...

  3. 学生管理系统CLI版

    学生管理系统CLI版 学生类 package com.itheima_03; public class Student { String sid; String name; String age; S ...

  4. Python笔记(4)——元组(Python编程:从入门到实践)

    元组 1. 元组:不可变的列表.元组一经创建不能被修改. 2. 表示:用圆括号()来表示,并用逗号来分隔其中的元素.可通过索引访问其元素. 3. 访问:访问列表元素,指出元组的名称,再指出元素的索引, ...

  5. 08.File类与IO流

    一.File 类 是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. Java 把电脑中的文件和文件夹(目录)封装为了一个 File 类. File 类是与系统无关的类,任何操 ...

  6. 微信小程序 实现点击返回顶部

    效果: wxml: <!-- 点击回顶部 --> <image src='/images/top.jpg' class='goTop' hidden='{{showTop}}' bi ...

  7. Spring全家桶

    常用框架的知识点汇总,如图: 一.5个常用的spring框架 ▌1.spring framework 也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文.bean管理.sp ...

  8. 记一次dubbo服务丢失的问题排查

    主要环境与用到的(关键)组件: Springboot2.3.2 其中,dubbo-spring-boot-starter版本为2.7.8 zookeeper3.5.9 首先是服务报错: No prov ...

  9. IDEA如何使用Maven不通过模板创建javaWeb项目

    IDEA如何使用Maven不通过模板创建javaWeb项目 1.创建项目 进入IDEA,点击"项目">"新建项目",填写项目信息,最后点击"创建 ...

  10. 👋 和我一起学【Three.js】「初级篇」:0. 总论

    「和我一起学 XXX」是我 2023 年的一个新企划,目的是向读者(也包括未来的自己)介绍我正在学习的某项新技术.文章会通过长期反复迭代的方式保持其内容的新鲜度.文章有较大内容更新时,会在文章开头进行 ...