• 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. linux中chmod与chown两个命令详解

    在linux系统中chmod,chown命令都可以来设置权限了,但它们也是有区别的,下文小编为各位介绍chmod与chown两个命令用法与区别介绍. 今天要分享的2个命令也是我们平时常用的,chmod ...

  2. visual studio使用GitHub

    最近使用github同步项目,非常方便.以后慢慢研究版本控制的用法. visual studio使用github看这篇教程,亲测可用

  3. git pull出现There is no tracking information for the current branch

    使用git pull 或者 git push 的时候报错 gitThere is no tracking information for the current branch. Please spec ...

  4. C语言 · 比较字符串

    算法训练 比较字符串   时间限制:1.0s   内存限制:512.0MB      编程实现两个字符串s1和s2的字典序比较.(保证每一个字符串不是另一个的前缀,且长度在100以内).若s1和s2相 ...

  5. [Timer]应用层实现sleep

    转自:https://www.cnblogs.com/longbiao831/p/4556246.html Select只能做延时,可以做回调吗? 本文讲述如何使用select实现超级时钟.使用sel ...

  6. HTTP 响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding

    Tomcat 中响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding 客户端(PC浏览器或者手机浏览器)在接受到Tomcat的响 ...

  7. mybatis配置进阶

    结果集的列比resultMap多会报错么?不会,只映射resultMap中有的列. 结果集的列比resultMap少会报错么?不会,只映射结果集中有的列. 高级结果映射 resultMap      ...

  8. sql 表连接基本的语法

    SQL连接能够分为内连接.外连接.交叉连接. 1.内连接:内连接查询操作列出与连接条件匹配的数据行,它使用比較运算符比較被连接列的列值. 1.1 select * from Table1 as a, ...

  9. jQuery运行方式818

    我们平时打开JQ源码就会看到这么一段代码 (function (window, undefined) { //JQ代码 })(window) 有一点经验的朋友会知道这是js自执行函数 它的好处主要作用 ...

  10. 数据框排序 data.frame order

    # sorting examples using the mtcars datasetattach(mtcars) # sort by mpgnewdata <- mtcars[order(mp ...