第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. 转:PHP删除目录及目录下所有文件

    PHP删除目录及目录下所有文件 <?php //循环删除目录和文件函数 function delDirAndFile( $dirName ) { if ( $handle = opendir(  ...

  2. windows上使用VsCode开发C/C++

    使用VsCode+makefile开发C/C++ 1. 介绍 vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ ...

  3. Kettle6.1连接MongoDB报错

    配置好mongodb连接之后,点击预览报下面的错: 报错: java.lang.NoClassDefFoundError: javax/crypto/spec/PBEKeySpec         a ...

  4. 【Canvas真好玩】从黑客帝国开始

    前言 笔者之前有一段时间一直在学习Canvas相关的技术知识点,通过参考网上的一些资料文章,学着利用简单的数学和物理知识点实现了一些比较有趣的动画效果,最近刚好翻看到以前的代码,所以这次将这些代码实践 ...

  5. Java操作数栈

    - 与局部变量表一样,均以字长为单位的数组.不过局部变量表用的是索引,操作数栈是弹栈/压栈来访问.操作数栈可理解为java虚拟机栈中的一个用于计算的临时数据存储区.- 存储的数据与局部变量表一致含in ...

  6. Medium高赞系列,如何正确的在Stack Overflow提问

    在我们写程序的时候,经常会遇到各色各样的问题,在国内,小伙伴们经常去知乎.CSDN.博客园.思否.安卓巴士等地方提问并获得答案. 这些地方汇集了很多优秀的.爱分享的国内资源.小编比较自豪的一件事情就是 ...

  7. Git如何fork别人的仓库并作为贡献者提交代码

    例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...

  8. Apache Spark 3.0 预览版正式发布,多项重大功能发布

    2019年11月08日 数砖的 Xingbo Jiang 大佬给社区发了一封邮件,宣布 Apache Spark 3.0 预览版正式发布,这个版本主要是为了对即将发布的 Apache Spark 3. ...

  9. tomcat日志(1)

    tomcat日志配置之一自带log 2014-03-19 09:58 33737人阅读 评论(2) 收藏 举报 分类: java(49) 问题 tomcat每次启动时,自动在logs目录下生产以下日志 ...

  10. maven的项目结构

    1.标准目录结构: src -main       –bin 脚本库       –java java源代码文件       –resources 资源库,会自动复制到classes目录里       ...