3.7 su命令

3.8 sudo命令

3.9 限制root远程登录



3.7 su命令

su命令是用来切换用户的。

比如现在是root用户下,我切换到wt用户下 su - wt(加-是为了彻底的切换用户)

2018-4-4_sudoroot

2018-4-4_远程限制_02这时候再自己的家目录下


假如不加-,su wt

2018-4-4_sudoroot_03

那依旧是在/root目录下


su - wt在自己的家目录下,就会去加载家目录的一些文件

2018-4-4_远程限制_04


可以以在root下用wt的身份执行命令。(以指定用户的身份执行命令)

su - -c "命令" name

2018-4-4_远程限制_05

2018-4-4_sudoroot_06第一个就是,属组也是wt



在普通用户下也可以切换到另外用户当中去

2018-4-4_sudoroot_07

鉴定故障,是因为user5已被锁定。

重新设置user5的密码

2018-4-4_sudoroot_08

到wt用户下 再次切换到user5

2018-4-4_sudoroot_09

警告无法更改到/home/user5 没有这个家目录。前缀不一样 不像wt@tongbuban01~,而是-bash-4.2%。

2018-4-4_sudoroot_10案例说会到/home/user5的家目录下去,可是还在/home/wt,看警告显然没有这个家目录,没法加载。

没有用户家目录,那创建一个

mkdir /home/user5

chown user5:user5 /home/user5/,然后切换到user5

2018-4-4_sudoroot_11

还是不行。因为在这个用户的家目录下没有任何的配置文件

2018-4-4_远程限制_12


不像是在wt用户下有几个.bash开头的配置文件,因为有这些文件前面才会显示成wt@tongbuban..这样。

2018-4-4_远程限制_04


系统有一个模板目录/etc/skel/

2018-4-4_sudoroot_14


cp /etc/skel/.bash*   /home/user5/把这些文件拷贝一份过去,并更改所有者和所属组

2018-4-4_sudoroot_15


这样user5用户就正常了

2018-4-4_远程限制_16


root用户可以su到普通用户,同样su用户也可以su到root,只要 知道密码就可以

2018-4-4_远程限制_17





3.8 sudo命令

 既然普通用户知道root密码可以su到root用户,那他直接登陆root用户不就好了。这是一个矛盾的地方


sudo可以让普通用户临时去执行一条命令以指定用户的身份去执行。(通常是个给普通用户授权root用户的身份)


visudo打开sudo的配置文件

2018-4-4_远程限制_18

可以看到实际上是编辑 /etc/sudoers.tmp这个文件(建议用visudo这样编辑配置文件时有语法错误会有提示,用vi /etc..不会提示)


往下翻找到root all=(all)这一行,这是配置文件最核心的地方。

2018-4-4_远程限制_19

allow root to run any commands anywhere,允许root用户在所有的地方运行所有的命令



2018-4-4_远程限制_20

另起一行模仿上面。 最后一个all是指所有命令,第二个all是表示用户。

那把最后的ALL改成3个命令,ls mv cat

2018-4-4_远程限制_21


wq出来后提示

2018-4-4_远程限制_22

99行 有错误,按一下回车,选e重新编辑配置文件

2018-4-4_sudoroot_23


在编辑配置文件的时候可以用:set nu来查看行数

2018-4-4_远程限制_24


语法有错误在前面配置文件的前面可以找到例子 

2018-4-4_sudoroot_25

是逗号分隔,但要用绝对路径

2018-4-4_sudoroot_26

再保存退出就可以了。


再切换到wt用户,正常的话cat /root/是没有权限的

2018-4-4_远程限制_27

sudo /usr/bin/cat /root/ 

2018-4-4_sudoroot_28

他提示让我输入wt用户的密码 然后就可以cat了,再cat一下 不需要输入密码了。

2018-4-4_sudoroot_29

这就比直接给root密码安全很多。直接给普通用户授权一些命令。


再看visudo。

如果觉得输入密码麻烦 可以 wt ALL=(ALL)   NOPASSWD:/usr/bin/ls 这样就不需要输入密码了 。

也可以再sudo里设置别名。

还可以对一个用户组做一些处理,这样就可以让很多用户进行处理了。

2018-4-4_远程限制_30

(用法很多有一些没有扩展)





3.9 限制root远程登录

首先root用户无法登陆,只有普通用户可以登陆。在su - root 到root下去。

但root用户的密码是保密的。


首先root用户 su到root用户下是不需要密码的

2018-4-4_sudoroot_31


visudo

首先设定设定一个用户的alisa

2018-4-4_远程限制_32

再设定一个规则

2018-4-4_sudoroot_33

wq


然后在那两个普通用户下sudo su -就可以切换到root下了。

2018-4-4_远程限制_34


如果普通用户都可以这样登陆到root,其实是可以改root密码 然后远程登陆的。所以需要做一个限制

要把root用户远程登陆的功能去掉

vi /etc/ssh/sshd_config

2018-4-4_远程限制_35

用/搜索Root

2018-4-4_sudoroot_36

出来的这个permitrootlogin就是要用到的配置

去掉#,把yes改成no

2018-4-4_远程限制_37

改完配置文件后重启网络服务

2018-4-4_sudoroot_38


再重新打开一个登陆一下

2018-4-4_远程限制_39

用密码试一下

2018-4-4_远程限制_40

说明限制成功了。