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. 微信小程序—标题栏

    <template> <view :style="{paddingTop: statusBarHeight + 'px',background:bg}" clas ...

  2. 【git入门】基于阿里云搭建git

    本文旨在说明基本的git使用流程,分为以下几个部分: 1.安装git环境 2.注册 3.git基本操作 一.安装git环境 第一次使用git,需要先安装配置git环境,windows版下载地址http ...

  3. PHP中获取时间的下一周下个月的方法

    PHP中获取时间的下一周,下个月等通常用于定制服务的时候使用,比如包月会员,包年等等 //通常用于定制服务的时候使用,比如包月会员,包年等等 //获取当前时间过一个月的时间,以DATETIME格式显示 ...

  4. C# 定时任务模拟,请求二十万数据

    定时器请求二十万数据 最近遇到一个问题,api接口,因为数据内容转换处理.一页1万条数据处理速度3秒以上.假设二十万条数据,分页请求二十次,总共花费时间1分钟以上. 解决这个问题,我第一时间想到并发, ...

  5. LVS简略介绍

    一.lvs是什么 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvir ...

  6. ORACLE ORA-12638:身份证明检索失败

    使用PLSQL连接远程数据库时,有时候会遇到提示ORA-12638:身份证明检索失败的问题,怎么办呢?有两种方法,选择一种更改就行了,网络上大多是第一种方法,如果已经找过不是你想要的答案,那不妨直接看 ...

  7. centos7 启动Tomcat7时报错:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found

    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production envi ...

  8. Go_day07

    Go常用包 包的本质:创建不同的文件夹,来存放程序文件 Go语言的源码复用建立再包package基础之上 main包 Go语言的入口 main()函数所在的包必须是main包 main包需要引用代码, ...

  9. DataX Web可视化分布式调度数据同步系统

    因项目需要,结合目前参与的项目,以及个人技术能力范围,组合研发一套web可视化数据同步系统,正式名称:DataXP. 项目背景:接触过阿里云这类大数据平台,对于中大型项目以及需要与外部系统对接数据的情 ...

  10. Repeater 绑定数据如何根据数据列的内容排序

    可指定Repeater的数据源 从数据库查询时直接排序,而后绑定数据这样