第3周第3次课(4月4日)

课程内容:
3.7 su命令
3.8 sudo命令
3.9 限制root远程登录

3.7 su命令

[root@jimmylinux-002 ~]# su - jimmy    su命令是切换用户使用的,在这里加一个“-”表示彻底切换到jimmy用户下包括自己的配置和环境变量,就在自己的家目录。

[root@jimmylinux-002 ~]# su - -c "touch /tmp/jimmy.111" jimmy    以指定用户的身份执行一条命令

[root@jimmylinux-002 ~]# ls -lt /tmp/ |head    使用此命令可以查看是否有执行成功

在普通用户下在切换到其他用户,按理说应该在user5家目录中,因为没有相应的配置文件,所以显示不正常。

既然缺少user5家目录,那么就重新创建一个user5的家目录出来。

[root@jimmylinux-002 ~]# mkdir /home/user5
[root@jimmylinux-002 ~]# chown user5:user5 /home/user5/

拷贝.bash文件到user5的家目录,这样就可以显示正常了。

普通用户显示为$符号,root用户显示为#符号。

3.8 sudo命令

让普通用户临时拥有指定用户去执行一条命令获得权限

[root@jimmylinux-002 ~]# visudo    直接添加如下内容,让jimmy用户拥有root权限,同时可以执行ls、mv、cat命令。

使用方法同vi命令,按i进入编辑内容,ESC取消编辑,然后:wq保存修改并退出编辑状态。

提示刚才的操作有问题,第93行语法错误,按e键回车进入重新修改,可以输入:set nu显示行数信息。

/usr/bin/ls, /usr/bin/mv, /usr/bin/cat    需要修改成绝对路径才能够正常使用

修改完成后切换成jimmy用户,在运行ls /root/就会提示无法打开目录,权限不够。

sudo /usr/bin/ls /root/    检验sudo的作用,可以将普通用户临时授予root权限,可以操作指定的一些命令。

同样可以给user5授予相同的权限,但是切换用户时还需要输入密码比较麻烦,添加这个参数就可以免密登录。

user5   ALL=(ALL)      NOPASSWD: /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

[root@jimmylinux-002 ~]# su - suer5    切换user5

[user5@jimmylinux-002 ~]$ ls /root/    直接输入ls /root/ 提示权限不够
ls: 无法打开目录/root/: 权限不够
[user5@jimmylinux-002 ~]$ sudo /usr/bin/ls /root/    sudo命令即可顺利执行
11 1.txt 33.txt anaconda-ks.cfg a.txt

在visudo里面也可以设置命令别名

Cmnd_Alias JIMMY_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

在visudo里面还可以设置用户组,比如把多个用户放到wheel一个组里面,相同组里面的用户名都可以执行授予的命令。

3.9 限制root远程登录

如果密码过于简单,容易被别人猜到,过于复杂自己也可能会忘记,为了安全起见,防止别人拿到密码通过root远程登录。

创建一个user alias,同时设置一个规则免密执行su命令登录root

如果要限制root远程登录,输入vi /etc/ssh/sshd_config 修改成PermitRootLogin no 保存退出,重启systemctl restart sshd.service 服务。

[root@jimmylinux-002 ~]# vi /etc/ssh/sshd_config
[root@jimmylinux-002 ~]# systemctl restart sshd.service

这个时候再重新连接,已经无法登录root用户,包括输入root密码也一样。(说明已经限制root远程登录)

打开putty终端以普通用户登录,然后执行sudo su - root可以直接免密登录到root用户。

重新输入vi /etc/ssh/sshd_config 还原配置文件并重启服务即可恢复root远程登录

su命令、sudo命令、限制root远程登录 使用介绍的更多相关文章

  1. Linux学习(十二)mkpasswd、su、sudo、限制root远程登录

    一.mkpasswd mkpasswd用来生成随机密码字符串.可以指定长度和特殊字符的长度: [root@ruanwenwu01 ~]# mkpasswd O7.alw5Wq [root@ruanwe ...

  2. 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 su命令 切换用户 [root@centos_1 ~]# su - xiaobo [root@centos_1 ~]# su - ...

  3. CentOS启用sudo,禁用root远程登录

    CentOS默认不启用sudo,且可以直接用超级管理员身份登录服务器.ubuntu这方面做得比较好,为了安全,减小误操作带来的损失,还是推荐启用sudo. 1.添加sudo用户 执行 visudo 命 ...

  4. Linux centosVMware su命令、sudo命令、限制root远程登录

    一.su命令 Linux系统中有些事情只有root用户才能做,普通用户不能做,这时候就需要临时切换到root身份了. [root@davery ~]# whoamiroot [root@davery ...

  5. linux系统(centos)下su和sudo命令的区别

    linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...

  6. Ubuntu允许root远程登录配置

    1.背景 近期在本地的虚拟机VMware上安装了Ubuntu Server 17.04,由于系统是无界面的,所有操作都需要通过Linux命令进行操作.后来不想直接在服务器上操作,想通过远程工具Xshe ...

  7. linux下禁止root远程登录和添加新用户

    https://www.cnblogs.com/jianz/p/7979250.html 一.添加和root权限一样的用户 1. adduser admin passwd  admin (修改密码) ...

  8. Linux生成ssh密钥免密登录,允许/禁止密码登录,允许/禁止root远程登录,更改ssh端口

    进入想要使用密钥登录的用户家目录 cd 或 cd ~ 执行密钥创建命令,不行可能需要下载openssh-server与openssh-client ssh-keygen -t rsa -P " ...

  9. 解除Ubuntu禁止root远程登录

    编辑SSH服务配置文件 编辑SSH服务的配置文件sshd_config,修改SSH的端口和root用户权限. 使用到的命令:(按字母 i 进入编辑模式,按ESC退出编辑模式, :wq 保存退出). r ...

随机推荐

  1. win10系统格式化、恢复出厂设置的操作步骤

    恢复电脑出厂设置具体步骤

  2. Unity调用Android相册

    最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...

  3. Pandas文本数据处理

    先初始化数据 import pandas as pd import numpy as np index = pd.Index(data=["Tom", "Bob" ...

  4. CSPS模拟 84

    整场考试就一个字虚 真的啥也不会 T1 80很好打 可是100这鬼畜的数据范围...二分答案? 没做过蚯蚓跪..果然多刷题有好处.. 于是死在80分处 T2 56很好打 可是100这鬼畜....... ...

  5. 哟,来看看JS里面变量声明方式

    点点点点点点进来.点击此处领取双十一梦想大礼包. 终于被我忽悠进来了?老弟,不骚一下你不往里面点是吧,还想大礼包?想着吧. 今天要说的如题,JS里面变量声明方式.可能一提到这个话题大家能很快的打出来, ...

  6. vue中组件的data为什么是一个函数

    1. 前言 在学习vue的时候,一直纳闷一件事:组件的data数据为什么必须要以函数返回的形式,为什么不是简单的对象形式呢?遂带着问题去翻官方文档,文档中自然也写明了这么做的原因,本篇博文以官方文档给 ...

  7. day 2上午 elect 选举 背包

    #include<iostream> using namespace std; int n; ; ]; long long p[maxn]; long long dp[maxn][maxn ...

  8. python语言线程标准库threading.local源码解读

    本段源码可以学习的地方: 1. 考虑到效率问题,可以通过上下文的机制,在属性被访问的时候临时构建: 2. 可以重写一些魔术方法,比如 __new__ 方法,在调用 object.__new__(cls ...

  9. jdk 错误1316 指定账户已存在 与 jdk1.7安装和配置环境变量 与 jdk1.8与1.7版本的切换使用

    问题:         安装JDK,提示错误信息:,指定的账号已存在. 原因:         安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除安装目录文件夹下的文件,如果只 ...

  10. 使用ASP.NET Core 3.x 构建 RESTful API - 3.1 资源命名

    之前讲了RESTful API的统一资源接口这个约束,里面提到了资源是通过URI来进行识别的,每个资源都有自己的URI.URI里还涉及到资源的名称,而针对资源的名称却没有一个标准来进行规范,但是业界还 ...