码迷,mamicode.com
首页 > 系统相关 > 详细

linux限制root远程登录、su命令、sudo命令

时间:2017-11-01 23:54:51      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:linux   root   su   sudo   

su命令:


1、su  切换用户命令 例:su - aming

2、whoami  查看当前用户命令

3、pwd   查看当前目录


例:输入su aming也可以切换用户,但是目录不在自己用户目录下,如下:

[root@aminglinux-01 ~]# su aming

[aming@aminglinux-01 root]$ pwd

/root

[aming@aminglinux-01 root]$ ls

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

[aming@aminglinux-01 root]$ exit

[root@aminglinux-01 ~]# su - aming

上一次登录:一 10月 30 19:43:20 CST 2017pts/0 上

[aming@aminglinux-01 ~]$ pwd

/home/aming

[aming@aminglinux-01 ~]$

注意,切换用户的时候一定要加-。

4、su - -c 指定用户去执行一条命令

[root@aminglinux-01 ~]# su - -c "touch /tmp/aming.111" aming

[root@aminglinux-01 ~]# ls -l /tmp/ |head

总用量 116

-rw-r--r--. 2 root  root       0 10月 27 20:04 1.txt.bak

-rw-r--r--. 1 aming grp2       0 10月 30 19:53 aming.111

drwxrwx---. 2 user1 aming     19 10月 29 11:25 aming2

drwxr-xr-x. 3 root  root      15 10月 25 19:59 aminglinux

-rwxr-xr-x. 1 root  root  117656 10月 25 20:46 ls2

drwx------. 3 root  root      17 10月 18 03:56 systemd-private-4d315cdbc8ef4b6fb7fe88eb7c2a8ffc-vmtoolsd.service-NdaVQb

drwx------. 3 root  root      17 10月 18 16:53 systemd-private-6f7de3c360e54ebd90228529e81a6451-vmtoolsd.service-sYuKNl

drwx------. 3 root  root      17 10月 29 15:12 systemd-private-d7366ef92190425097a68c22ada7a3b0-vmtoolsd.service-lZzsPV

drwxr-xr-x. 2 user1 aming      6 10月 29 11:33 yum.log

[root@aminglinux-01 ~]# id aming

uid=1000(aming) gid=1005(grp2) 组=1005(grp2),1007(user5)

[root@aminglinux-01 ~]# date

2017年 10月 30日 星期一 19:54:11 CST

举例:从普通用户下切换到另一个用户下面去,比如从aming用户切换到user5

[root@aminglinux-01 ~]# su - user5

su: 警告:无法更改到 /home/user5 目录: 没有那个文件或目录   //因为锁定了user5

-bash-4.2$ 登出

[root@aminglinux-01 ~]# passwd user5

更改用户 user5 的密码 。

新的 密码:

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@aminglinux-01 ~]# su - aming

上一次登录:一 10月 30 19:53:21 CST 2017pts/0 上

[aming@aminglinux-01 ~]$ su - user5

密码:

上一次登录:二 10月 31 18:49:01 CST 2017pts/0 上

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

-bash-4.2$ pwd          //正常应该显示在user5用户下面的家目录,显示不正确

/home/aming

-bash-4.2$ 登出

[aming@aminglinux-01 ~]$ 登出

如下操作恢复正常:

[root@aminglinux-01 ~]# id user5             //查看用户属主与属组

uid=1007(user5) gid=1007(user5) 组=1007(user5)

[root@aminglinux-01 ~]# mkdir /home/user5  //创建家目录

[root@aminglinux-01 ~]# chown user5:user5 /home/user5/   //更改属组及所有者

[root@aminglinux-01 ~]# su - user5         //切换用户还是不行

上一次登录:二 10月 31 18:50:31 CST 2017pts/0 上

-bash-4.2$ pwd

/home/user5

-bash-4.2$ ls -la

总用量 0

drwxr-xr-x.  2 user5 user5   6 10月 31 18:51 .

drwxr-xr-x. 10 root  root  118 10月 31 18:51 ..

-bash-4.2$ su - aming                 //切换到aming用户下

密码:

上一次登录:二 10月 31 18:50:15 CST 2017pts/0 上

最后一次失败的登录:二 10月 31 18:52:51 CST 2017pts/0 上

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

[aming@aminglinux-01 ~]$ ls -la          //查看用户配置文件

总用量 16

drwx------.  2 aming grp2  83 10月 30 19:43 .

drwxr-xr-x. 10 root  root 118 10月 31 18:51 ..

-rw-------.  1 aming grp2  46 10月 31 18:51 .bash_history

-rw-r--r--.  1 aming grp2  18 8月   3 2016 .bash_logout

-rw-r--r--.  1 aming grp2 193 8月   3 2016 .bash_profile

-rw-r--r--.  1 aming grp2 231 8月   3 2016 .bashrc

[aming@aminglinux-01 ~]$ 登出

[root@aminglinux-01 ~]# ls /etc/skel/           //系统下面的模板配置文件

[root@aminglinux-01 ~]# ls -la /etc/skel/        //查看文件

总用量 24

drwxr-xr-x.  2 root root   62 10月 17 05:04 .

drwxr-xr-x. 77 root root 8192 10月 31 18:50 ..

-rw-r--r--.  1 root root   18 8月   3 2016 .bash_logout

-rw-r--r--.  1 root root  193 8月   3 2016 .bash_profile

-rw-r--r--.  1 root root  231 8月   3 2016 .bashrc

[root@aminglinux-01 ~]# cp /etc/skel/.bash* /home/user5/ //把配置文件拷贝到user5家目录下面

[root@aminglinux-01 ~]# chown -R user5:user5 !$       //更改目录所属组及所有者

chown -R user5:user5 /home/user5/

[root@aminglinux-01 ~]# su - user5                //成功登录

上一次登录:二 10月 31 18:52:29 CST 2017pts/0 上

[user5@aminglinux-01 ~]$ pwd

/home/user5

[user5@aminglinux-01 ~]$ 登出

备注:普通用户也可以直接su到root用户,前提是知道root的密码。


sudo命令:


1、sudo  可以让普通用户临时去执行一条命令,指定用户执行(用处:不需要给普通用户管理员权限,可以指定普通用户拥有部分命令的使用权)

例:

输入命令visudo,编辑文件在root用户下添加普通用户需要操作的root用户权限,ALL代表所有。

技术分享

set nu 查看行数

技术分享技术分享

加入更改后保存退出,如下:

[root@aminglinux-01 ~]# su - aming               //切换普通用户

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

[aming@aminglinux-01 ~]$ ls /root/            //直接ls查看root目录是报没有权限

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

[aming@aminglinux-01 ~]$ sudo ls /root/        //添加sudo可以查看

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.

#2) Think before you type.

#3) With great power comes great responsibility.

[sudo] password for aming:              //第一次查看需要输入普通用户密码

111  1_heard.txt.bak  1.txt.bak  2.txt aming2    anaconda-ks.cfg

123  1_sorft.txt.bak  234 3.txt

不需要输入用户名密码做法,在root用户下编辑visudo,然后按如下修改。

技术分享技术分享

例:命令别名

输入visudo进入编辑,增加一条。

技术分享技术分享

更改上别名,保存退出。

技术分享技术分享

验证操作,完成。

技术分享技术分享


限制root远程登录:


1、为了安全着想,禁止root远程登录(本地不可限制),只允许普通用户登录,普通用户想要root用户的权限可以使用sudo,也可以使用su,但root的密码不能让普通用户知道。

例:

输入visudo,编辑添加一个用户User Aliases

技术分享

再添加一条规则,保存退出。

技术分享技术分享

验证操作,完成。(前提是限制root远程登录)

技术分享技术分享

做一个root用户远程限制的功能,更改配置文件vi /etc/ssh/sshd_config,编辑更改如下操作。

技术分享技术分享

更改完配置文件重启服务systemctl restart sshd.service ,然后再执行root验证登录,不能登录。

技术分享技术分享

使用PuTTY登录普通用户成功,并可以直接使用sudo连接上root不需要使用密码,验证完成。

技术分享技术分享

本文出自 “Gary博客” 博客,请务必保留此出处http://taoxie.blog.51cto.com/10245493/1978209

linux限制root远程登录、su命令、sudo命令

标签:linux   root   su   sudo   

原文地址:http://taoxie.blog.51cto.com/10245493/1978209

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!