3.7su命令

[root@MOMOCO-02 ~]# whoami

root

【查看当前的用户】

[root@MOMOCO-02 ~]# su - user01

上一次登录:三 12月 27 15:11:18 CST 2017pts/0 上

【切换用户的命令】

[user01@MOMOCO-02 ~]$ whoami

user01

[user01@MOMOCO-02 ~]$ id

uid=1001(user01) gid=1001(user01) 组=1001(user01) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

【产看当前的用户id号,也可以看当当前的用户是谁。】

[user01@MOMOCO-02 ~]$ 登出【ctrl+d】

[root@MOMOCO-02 ~]# pwd

/root

[root@MOMOCO-02 ~]# su user01

【不能彻底的切换到user用户里】

[user01@MOMOCO-02 root]$ pwd

/root

【你不是用-他的家目录不能切换。】

[user01@MOMOCO-02 ~]$ ls -la

总用量 16

drwx------. 2 user01 user01  83 12月 27 15:18 .

drwxr-xr-x. 5 root   root    50 12月 27 15:04 ..

-rw-------. 1 user01 user01  17 12月 27 15:18 .bash_history

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

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

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

[root@MOMOCO-02 ~]# su - -c "touch /tmp/1.2.txt" gyblinux

【-c选项是指定某个用户运行某个命令,这个是指定gyblinux用户在/tmp/目录下创建一个1.1.txt文件】

[root@MOMOCO-02 ~]# ls -lt /tmp/ |head -n2

总用量 4

-rw-rw-r--. 1 gyblinux user02  0 12月 27 15:38 1.2.txt

【文件创建成功,他的所属组是user02,如下可以看到gyblinux的所属组】

[root@MOMOCO-02 ~]# id gyblinux

uid=1000(gyblinux) gid=1002(user02) 组=1002(user02)

[root@MOMOCO-02 ~]# su - gyblinux

上一次登录:三 12月 27 15:51:57 CST 2017pts/0 上

[gyblinux@MOMOCO-02 ~]$ su - user01

密码:

su: 鉴定故障

【我们使用普通用户登录普通用户,这个错我使我们锁定了user01的密码】

[gyblinux@MOMOCO-02 ~]$ su - user01

密码:

上一次登录:三 12月 27 15:52:10 CST 2017pts/0 上

最后一次失败的登录:三 12月 27 15:57:11 CST 2017pts/0 上

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

【如果用户密码没有被锁定是可以登录的】

[root@MOMOCO-02 ~]# su - user01

上一次登录:三 12月 27 16:05:36 CST 2017pts/0 上

[user01@MOMOCO-02 ~]$ su - user3

密码:

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

-bash-4.2$

【我们发现这个前缀和前面的不一样了,这是因为这个用户没有家目录的原因。我们看下面的操作就可以恢复了。】

[root@MOMOCO-02 ~]# id user3

uid=1003(user3) gid=1003(user3) 组=1003(user3)

【查看user3的gid】

[root@MOMOCO-02 ~]# mkdir /home/user3

【在家目录中创建user3】

[root@MOMOCO-02 ~]# chown user3:user3 /home/user3

【更改user3目录的所属主和所属组】

[root@MOMOCO-02 ~]# su - user3

上一次登录:三 12月 27 16:06:24 CST 2017pts/0 上

-bash-4.2$ ls -la

总用量 0

drwxr-xr-x. 2 user3 user3  6 12月 27 16:13 .

drwxr-xr-x. 6 root  root  63 12月 27 16:13 ..

-bash-4.2$ 登出

[root@MOMOCO-02 ~]# su - gyblinux

上一次登录:三 12月 27 15:58:51 CST 2017pts/0 上

[gyblinux@MOMOCO-02 ~]$ ls -la

总用量 16

drwx------. 2 gyblinux user02  98 12月 27 15:45 .

drwxr-xr-x. 6 root     root    63 12月 27 16:13 ..

-rw-r--r--. 1 gyblinux user02   0 12月 27 15:45 1.2.txt

-rw-------. 1 gyblinux user02 169 12月 27 16:02 .bash_history

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

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

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

【我们创建了家目录在登录还是不行,因为家目录里面没有3个.bash*的文件】

[gyblinux@MOMOCO-02 ~]$ 登出

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

总用量 24

drwxr-xr-x.  2 root root   62 12月  5 22:25 .

drwxr-xr-x. 74 root root 8192 12月 27 16:06 ..

-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

【系统自带的3个.bash*文件】

[root@MOMOCO-02 ~]# cp /etc/skel/.b* /home/user3

[root@MOMOCO-02 ~]# chown -R user3:user3 /home/user3

【更改/home/user3/目录及目录的所属主和所属组】

【我们把这三个文件拷贝到家目录的user3目录里再次登录user3用户】

[root@MOMOCO-02 ~]# su - user3

上一次登录:三 12月 27 16:14:34 CST 2017pts/0 上

[user3@MOMOCO-02 ~]$ ls -la

总用量 16

drwxr-xr-x. 2 user3 user3  83 12月 27 16:17 .

drwxr-xr-x. 6 root  root   63 12月 27 16:13 ..

-rw-------. 1 user3 user3  47 12月 27 16:26 .bash_history

-rw-r--r--. 1 user3 user3  18 12月 27 16:17 .bash_logout

-rw-r--r--. 1 user3 user3 193 12月 27 16:17 .bash_profile

-rw-r--r--. 1 user3 user3 231 12月 27 16:17 .bashrc

【这次就可以像之前gyblinux用户的前缀了】

[gyblinux@MOMOCO-02 ~]$ su -

密码:

上一次登录:三 12月 27 16:35:00 CST 2017pts/0 上

最后一次失败的登录:三 12月 27 16:35:53 CST 2017pts/0 上

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

【我们也可以从普通用户登录到root用户但是首先你要知道root用户的密码】

3.8sudo命令

这个命令是让普通用户临时运行root的命令,下面我们来看sudo的配置文件。

[root@MOMOCO-02 ~]# visudo

【我们运行visudo命令进入sudo的配置文件,其实/etc/sudoers.tmp才真正是sudo的配置文件。但是我们用绝对路径配置文件的时候如果你的语法有错误他不会提示你,而且这个文件比较重要。而我们用sudo来写如果有错误他会提示我们】

[root@MOMOCO-02 ~]# visudo

【我们找到这一行模仿root编辑一下】

>>> /etc/sudoers: 语法错误 near line 93 <<<

现在做什么?

选项有:

重新编辑 sudoers 文件(e)

退出,不保存对 sudoers 文件的更改(x)

退出并将更改保存到 sudoers 文件(危险!)(Q)

现在做什么?e

【可以看到我们错误的提示】

【正确的编辑是使用绝对路径在路径的后面加上逗号在加个空格】这句语言的意思就是让gyblinux用户拥有root用的身份去执行这几条命令

【上面说在93行有错误我们怎么找多少行那?你进入编辑的文件然后:set nu 他就会显示行号】

[root@MOMOCO-02 ~]# su - gyblinux

上一次登录:三 12月 27 19:15:16 CST 2017pts/0 上

[gyblinux@MOMOCO-02 ~]$ ls /root/

ls: 无法打开目录/root/: 权限不够

【在普通目录下我们是不能ls /root/  使用root用户的,但是我们使用下面的sudo就可以。】

[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/

我们信任您已经从系统管理员那里了解了日常注意事项。

总结起来无外乎这三点:

#1) 尊重别人的隐私。

#2) 输入前要先考虑(后果和风险)。

#3) 权力越大,责任越大。

[sudo] gyblinux 的密码:

123  2.txt  3  3.txt  3.txt~  anaconda-ks.cfg

【这里他让我们输入gyblinux的用户密码,第一次使用他会让我们输入密码,第二次自后就不让我们输入密码了。】

[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/

123  2.txt  3  3.txt  3.txt~  anaconda-ks.cfg

【这样我们就可以使用ls /root/  使用root用户了】

[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/cat /root/4.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

注意:我们这样设置就会避免系统遭到破坏,我们就给普通用户要用的root命令。也防止root密码的泄露。

【我不想输入自己的密码怎么办那就加上NOPASSWD: 就行了。快捷方式光标定位到要复制的那一行然后按yy再按p就会在下面复制本行。】

[root@MOMOCO-02 ~]# visudo

[root@MOMOCO-02 ~]# su - user01

上一次登录:三 12月 27 19:43:42 CST 2017pts/0 上

[user01@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/

123  2.txt  3  3.txt~  4.txt  anaconda-ks.cfg

【一组为单位给我要用的命令做个组的别名,把你要用的命令加入到这里面去。然后在下面的时候就直接使用GYB_CMD就可以了。】

[root@MOMOCO-02 ~]# visudo

[root@MOMOCO-02 ~]# su - gyblinux

上一次登录:三 12月 27 19:54:21 CST 2017pts/0 上

[gyblinux@MOMOCO-02 ~]$ sudo ls /root/

123  2.txt  3  3.txt~  4.txt  anaconda-ks.cfg

3.9限制root远程登录

为了安全起见我们一般不会让普通用户知道密码,不会让root远程。

[root@MOMOCO-02 ~]# visudo

【我们可以登录普通用户,然后在普通用户里切换到root用户。】

【设置一个用户组】

【允许用户组GYBADMINS运行su命令。】

[root@MOMOCO-02 ~]# su - gyblinux

上一次登录:三 12月 27 20:00:48 CST 2017pts/0 上

【进入普通用户】

[gyblinux@MOMOCO-02 ~]$ su -

密码:

【我们ctrl+c】

[gyblinux@MOMOCO-02 ~]$ sudo su -

上一次登录:四 12月 28 08:13:10 CST 2017从 192.168.119.1pts/1 上

[root@MOMOCO-02 ~]# 登出

[gyblinux@MOMOCO-02 ~]$ 登出

【我们用sudo进入root用户,可以看到不需要密码。但是这个还是不够安全,因为进入root用户可以自己修改root的密码,这样还是不安全。所以这个还不是我们想要的。】

【关闭root远程登录】

[root@MOMOCO-02 ~]# vi /etc/ssh/sshd_config

【进入这个配置文件,按下面的方法配置】

[root@MOMOCO-02 ~]# systemctl restart sshd.service

【重启sshd的配置服务】

我们再次链接momoco02

【当我们输入对的密码时也是无法登录root的】

那我们就用普通用户登录,登录方法如下:

【进入普通用户我们在进入root用户】

[gyblinux@MOMOCO-02 ~]$ su -

密码:

【我们直接su - 他会让我们输入密码。我们不知道ctrl+c取消】

[gyblinux@MOMOCO-02 ~]$ sudo su -

【我们可以使用sudo命令就如root用户下】

上一次登录:四 12月 28 10:01:55 CST 2017从 192.168.119.1pts/0 上

最后一次失败的登录:四 12月 28 10:03:23 CST 2017从 192.168.119.1ssh:notty 上

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

为了以后方便做实验我们还是允许root用户远程登录,我们把之前的配置vi /etc/ssh/sshd_config文件改回来就行了。

阿铭linux

转载于:https://blog.51cto.com/13518197/2055184

su命令\sudo命令\限制root远程登录相关推荐

  1. su、sudo、限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 1.切换用户命令 2.su - aming 切换哟on过户 加-的命令目的为彻底切换用户的配置配置包括环境变 ...

  2. 权限管理su、sudo、限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 第三章 用户和组管理 3.7 su命令 用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码. 语法: s ...

  3. 第3周第3课:su、sudo、限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 e.g1 注意观察whoami.pwd.id.su(带"-"否)的输出结果. [root ...

  4. Linux -su、sudo、限制root远程登录

    su: 2.1.su - root 完整切换到root 2.su oracle 部分切换到oracle 3.以某人身份去执行命令,而不切换到该用户下 su - -c "touch /tmp/ ...

  5. 三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 ...

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

    2019独角兽企业重金招聘Python工程师标准>>> mkpass  解释:make password [root@cham2 ~]# mkpasswd    make passw ...

  7. 三周第三次课 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    3.7 su命令 1.su命令 su命令是用来切换用户的: su命令需要使用- 进行切换,如果不使用- 也可以, 但当前目录是在root下,没有彻底切换 在root下 使用su命令创建文件,以指定用户 ...

  8. Linux的su命令,sudo命令和限制root远程登录

    3.7 su命令: su命令是用来切换用户的,例如我要从root用户切换到user2用户:   这个 - 选项是彻底切换用户的意思,如果不加 - 选项也可以,但是切换得不彻底,例如当前的家目录还是ro ...

  9. su命令 sudo命令 限制root远程登录

    su命令 sudo命令 限制root远程登录 su命令 日常操作中为了避免一些误操作,更加安全的管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root ...

  10. su 、 sudo 命令及限制 root 远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 1.su 命令 之前说到一个命令 su ,是用来切换用户的.见下图 命令 su - lys 中的 - ,是为了彻底切换用户,包 ...

最新文章

  1. 《Java工程师修炼之道》内容概览
  2. ft2232驱动安装方法_ST-Link资料03_ST-Link固件升级、驱动下载安装方法
  3. Java的Gradle依赖关系,使用编译还是实现?
  4. docker安装mysql_Docker 安装 MySQL
  5. js 表单设计器_准备迎接Vue3,使用Vue Composition API生成干净可扩展的表单
  6. 解决bert在文本长度的问题的方案,篇章级
  7. ERP 趣读 【转】
  8. 小Q系列故事——大笨钟
  9. 鸿蒙系统麒麟970芯片支持,受鸿蒙系统影响,众多华为手机或要说再见,包括麒麟970机型!...
  10. Word VBA中读取Excel表格中的数据
  11. 墨者学院—网络安全篇3
  12. python cnn识别图像_用CNN识别CT图像检测肺癌
  13. python爬取雪球网交易数据
  14. 打开word2016文档时提示用文本恢复转换器打开文件
  15. deepin/ubantu下 mysql 1698错误解决
  16. 华为笔试题库之较难--难度
  17. 没有基础适合学习java吗?
  18. 顺丰开放平台开发者接入指引
  19. python 飞翔的小鸟
  20. c语言零基础第三课:运算符学习

热门文章

  1. 狗熊冬眠_4本最佳的冬眠书–Spring冬眠书
  2. Valid Palindrome leetcode125
  3. 开课吧:AI改变就业市场的方式有哪些?
  4. 微服务化浪潮中,网易考拉借浪拉动业务极速增长
  5. nginx虚拟域名配置
  6. 多线程模拟实现生产者/消费者模型 (借鉴)
  7. Eclipse安装SVN插件图文详解
  8. ROM制作,专属个性的亮光点
  9. 职场老实人的十大升职障碍
  10. tensorflow只训练指定变量