• 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. 不要问我有多懒,写个脚本跑django

    写django的都知道,要跑起django测试环境,只需要 python manage.py runserver 就可以了,但是时间一长,就觉得敲这个命令太浪费时间了,而我又是个懒人. 同事用的是ct ...

  2. git的版本回退探索

    简介 今天改完代码匆忙提交,上线发现有问题,那怎么办?废话,赶紧回滚,那怎么回滚,开始用git reset [--soft | --mixed | --hard 命令,但这命令真的能达到我预期的效果吗 ...

  3. 01_MUI之Boilerplate中:HTML5演示样例,动态组件,自己定义字体演示样例,自己定义字体演示样例,图标字体演示样例

     1安装HBuilder5.0.0,安装后的界面截图例如以下: 2 依照https://www.muicss.com/docs/v1/css-js/boilerplate-html中的说明,创建上 ...

  4. spark1.6内存管理

      Spark从1.6.0版本开始,内存管理模块就发生了改变,旧版本的内存管理模块是实现了StaticMemoryManager 类,现在被称为"legacy"."Leg ...

  5. Mapreduce 进阶

    场景描述 订单需要封装成为一个bean 传入reduce,然后实现排序取出top1,或者分组求和 首先要实现排序就要实现comparable接口 要实现分组top1,那么"相同的bean&q ...

  6. 解决MYSQL ERROR 1045 (28000)问题

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)   Red Hat Enterpr ...

  7. flume中HdfsSink参数说明

    flume到hdfsSink: type hdfs path 写入hdfs的路径,需要包含文件系统标识,比如:hdfs://namenode/flume/webdata/ 可以使用flume提供的日期 ...

  8. Bash Shell (十一)

    [教程主题]:Bash Shell [课程录制]: 创E [主要内容] [1] Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从 ...

  9. Android训练课程(Android Training) - 高效的显示图片

    高效的显示图片(Displaying BitmapsEfficiently) 了解如何使用通用的技术来处理和读取位图对象,让您的用户界面(UI)组件是可响应的,并避免超过你的应用程序内存限制的方式.如 ...

  10. 【html】param 以及 embed 的有关 flash 属性详解

    本文主要介绍 param 和 embed 标签中有关 flash 的一些属性及其属性值. 首先我们需要知道 param 和 embed 标签是单独出现的,而不是成对出现的,下面的代码是一般 flash ...