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

su命令

切换用户

[root@centos_1 ~]# su - xiaobo

[root@centos_1 ~]# su - xiaobo

最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上

最有一次成功登录后有 1 次失败的登录尝试。

[xiaobo@centos_1 ~]$ whoami

xiaobo

[xiaobo@centos_1 ~]$ id

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

其中 -c的意思是彻底切换

不切换到xiaobo用户,在root用户下使用xiaobo用户的身份来执行

[root@centos_1 ~]# su - -c "touch /tmp/xiaobo.111" xiaobo

[root@centos_1 ~]# ls -lt /tmp/ |head

总用量 128

-rw-rw-r--  1 xiaobo xiaobo      0 11月 21 18:11 xiaobo.111

[root@centos_1 ~]# id xiaobo

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

例子:

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:46:31 CST 2017pts/0 上

su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录

-bash-4.2$

-bash-4.2$

显示成这个样子的原因是没有家目录的配置文件:

su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录

没有xiaoming家目录,创建xiaoming家目录:

mkdir    /home/xiaoming

-bash-4.2$ id xiaoming

uid=1010(xiaoming) gid=1011(xiaoming) 组=1011(xiaoming)

然后更改权限:

chown xiaoming:xiaoming  /home/xiaoming

切换到xiaoming用户还是不行:

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:48:40 CST 2017pts/0 上

-bash-4.2$

因为少了xiaoming家目录的配置文件

[root@centos_1 ~]# ls -la /home/xiaoming/

总用量 0

drwxr-xr-x  2 xiaoming xiaoming  6 11月 29 19:52 .

drwxr-xr-x. 4 root     root     36 11月 29 19:52 ..

例如这样的配置文件:

[root@centos_1 ~]# ls -la /home/xiaobo/

总用量 16

drwx------  2 xiaobo xiaobo  83 11月 21 18:09 .

drwxr-xr-x. 4 root   root    36 11月 29 19:52 ..

-rw-------  1 xiaobo xiaobo  10 11月 21 18:09 .bash_history

-rw-r--r--  1 xiaobo xiaobo  18 8月   3 05:11 .bash_logout

-rw-r--r--  1 xiaobo xiaobo 193 8月   3 05:11 .bash_profile

-rw-r--r--  1 xiaobo xiaobo 231 8月   3 05:11 .bashrc

系统有一个模板目录,可以拷贝一下到xiaoming家目录:

[root@centos_1 ~]# ls -la /etc/skel/

总用量 24

drwxr-xr-x.  2 root root   62 11月  9 15:58 .

drwxr-xr-x. 74 root root 8192 11月 29 19:46 ..

-rw-r--r--.  1 root root   18 8月   3 05:11 .bash_logout

-rw-r--r--.  1 root root  193 8月   3 05:11 .bash_profile

-rw-r--r--.  1 root root  231 8月   3 05:11 .bashrc

cp /etc/skel/.bash*  /home/xiaoming

[root@centos_1 ~]# cp /etc/skel/.bash* /home/xiaoming/

更改下权限(用户和所有组)

[root@centos_1 ~]# chown -R xiaoming:xiaoming !$

chown -R xiaoming:xiaoming /home/xiaoming/

[root@centos_1 ~]# ls -ld /home/xiaoming/

drwxr-xr-x 2 xiaoming xiaoming 62 11月 29 19:59 /home/xiaoming/

切换xiaoming用户,就显示正常了:

su  - xiaoming

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:53:03 CST 2017pts/0 上

[xiaoming@centos_1 ~]$

普通用户切换到root

su  - root

[xiaoming@centos_1 ~]$ su -

密码:

上一次登录:三 11月 29 19:48:05 CST 2017pts/0 上

 sudo命令

sudo给普通用户授权root用户的身份。

visudo打开sudo的配置文件"/etc/sudoers.tmp" 112L, 3938C

最核心的部分:

ALL  指的是在哪里

(ALL)指的是主机用户

后面的ALL 表示所有的命令,也可以自定义命令

正常情况下,普通用户ls root/目录是没有权限的

第一次执行需要输入密码,第二次就不用输入密码

不让用户输入密码

切换到user1

[root@centos_1 ~]# su - user1

上一次登录:二 11月 21 01:28:52 CST 2017pts/0 上

su: 警告:无法更改到 /home/user1 目录: 没有那个文件或目录

-bash-4.2$ su root

密码:

[root@centos_1 ~]# mkdir /home/user1

[root@centos_1 ~]# cp /etc/skel/.bash* !$

cp /etc/skel/.bash* /home/user1

[root@centos_1 ~]# chown  user1:user1 /home/user1

[root@centos_1 ~]# su - user1

上一次登录:三 11月 29 20:50:31 CST 2017pts/0 上

[user1@centos_1 ~]$

模仿设置别名:

测试

[xiaobo@centos_1 ~]$ sudo ls /root

[sudo] xiaobo 的密码:

111  1.txt.bak anaconda-ks.cfg.1  xiaobo

[xiaobo@centos_1 ~]$ sudo cat /root/1.txt.bak

用户组

就是说,一些用户用到了同样的命令,可以把这些命令放到一个用户组里,对用户组进行操作。

例如:$wheel用户组

 限制root远程登录

禁止root密码登录,普通用户获取sudo权限

设置用户alias

测试:

vi  /etc/ssh/sshd_config

[root@centos_1 xiaobo]# vi  /etc/ssh/sshd_config

限制掉root远程登录

重启服务

[root@centos_1 xiaobo]# systemctl  restart sshd.service

然后以普通用户身份登录后切换root登录

备注:

可以给普通用户设置部分权限,不要全部授予权限。

禁用掉root用户登录后:

可以给一个用户授予sudo权限,之后自己用这个用户切换到root用户下。或者都不给普通用户sudo权限,自己实体机登录root,不远程登录。

然后其他用户授予部分权限。

3.7 su命令 3.8 sudo命令 3.9 限制root远程登录的更多相关文章

  1. su命令、sudo命令、限制root远程登录 使用介绍

    第3周第3次课(4月4日) 课程内容:3.7 su命令3.8 sudo命令3.9 限制root远程登录 3.7 su命令 [root@jimmylinux-002 ~]# su - jimmy     ...

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

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

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

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

  4. Linux学习总结(六)-su命令 sudo 命令 限制root远程登录

    root 用户拥有至高无上的权利,那么我们运维人员是不是直接在root用户下处理所有问题呢? 答案是否定的,权力越大,责任越大,人是会犯错的,因此我们要在不影响我们的工作情况下,尽量限制我们的权力,以 ...

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

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

  6. 在python命令行执行sudo命令

    def test(): sudoPassword = 'test' command = '/opt/lampp/lampp stopmysql' str = os.system('echo %s|su ...

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

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

  8. sudo 命令情景分析

    Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令.本文就对我们常用到 sudo 操作情景进行简单分析,通过一些例子来了解 sudo 命令相关的技巧. 情景一:用 ...

  9. sudo命令使用的几个场景

    在linux系统下,普通用户无法直接执行root用户权限下的命令,如果想让普通用户执行只有root用户才能执行的操作命令.下面罗列下经常使用sudo命令的几个场景: 1.用户无权限执行root命令普通 ...

随机推荐

  1. 使用卷积神经网络CNN训练识别mnist

    算的的上是自己搭建的第一个卷积神经网络.网络结构比较简单. 输入为单通道的mnist数据集.它是一张28*28,包含784个特征值的图片 我们第一层输入,使用5*5的卷积核进行卷积,输出32张特征图, ...

  2. hdu3038(种类并查集,推荐)

    题目大意:有n次询问,给出a到b区间的总和,问这n次给出的总和中有几次是和前面已近给出的是矛盾的?? 很有意思的一道题目,要是没有做过种类并查集,我肯定会以为这种题目是线段树题目...... 思路:我 ...

  3. oracle中for循环

    DECLARE );-- 定义一个字符串变量str BEGIN .. loop -- INSERT INTO FW_TEST(NAME) VALUES('bbb' + i);DECODE('1','' ...

  4. JAVA-JSP内置对象之response对象实现页面跳转

    相关资料:<21天学通Java Web开发> response对象 实现页面跳转1.可以通过response对象的sendRedirect()方法设置页面重定向,从而实现页面跳转.2.这种 ...

  5. CTF中常见Web源码泄露总结

    目录00x1 .ng源码泄露 00x2  git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露  ...

  6. Android学习笔记(38):Handler消息传递处理机制

    先说为什么须要Handler: Android的主线程又叫UI线程,用于处理与UI相关的时间.Android仅仅同意在主线程中改动UI组件,当我们在其它线程中须要改动UI界面时.就须要发送消息到主线程 ...

  7. Base64与MD5的区别

    Base64和MD5都可用于做信息的简单加密,两者的简单差别如下: Base64 可逆性. 可以将图片等二进制文件转换为文本文件. 可以把非ASCII字符的数据转换成ASCII字符,避免不可见字符. ...

  8. drupal模板命名规则

    1.block--[region[module--delta]].tpl.php基于主题文件: block.tpl.php block--module--delta.tpl.phpblock--mod ...

  9. python多线程生产消费

    #!/usr/bin/env python# -*- coding: utf-8 -*- from threading import Threadfrom Queue import Queueimpo ...

  10. 构建Java并发模型框架

    Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误.另外,应用逻辑和线程逻辑纠 ...