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

一、su命令


su 切换用户的命令
格式:su [-] username
普通用户下,不加用户名就是切换到root用户。
su后可以跟-,也可以不跟。跟-的话,切换用户的同时,会切换到用户的主目录。不跟-的话,切换时在哪个目录,切换后就在哪个目录。

[root@centos-01 ~]# su - -c "touch /tmp/test,txt" user1
#指定user1 用户在/tmp目录下创建一个test,txt文件。
[root@centos-01 ~]# ls -l /tmp/
-rw-rw-r--. 1 user1 user1  0 10月 31 17:09 test,txt

root 用户切换到普通用户时不需要输入密码。普通用户用户切换到root用户或则其他普通用户时需要输入用户密码。

user5用户在创建时没有创建家目录。切换到user5用户时,提示user5没有家目录,所以无法加载配置文件。在/home/目录下新建一个user5目录,并修改user5目录的所有者和所属组均为user5。再切换到user5用户,还是发现配置文件不存在。所以,去目录/etc/skel将配置文件拷贝到user5目录下,并修改文件的用户和用户组。再次切换用户到user5。此时显示正常。

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


二、sudo命令

sudo 命令可以让当前普通用户执行一个只有root用户才能执行的命令。需要输入用户密码。

visudo 查看sudo的配置文件(必须使用root用户才能编辑,而且不建议用vi编辑)
其中,这行是重点,意思是允许root用户去运行所有的命令在任何地方。

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

在该行下面加一行user5 ALL=(ALL) ALL,就可以让user5用户拥有root的身份去执行root的所有命令。

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

第一段的user5 是一个用户,指定让哪个用户具有sudo权限。
第二段是ALL=(ALL)左边的ALL 指的是所有的主机,右边的ALL 指的是获取哪个用户的身份。
第三段设定可以使用的sodu命令有哪些。
(:set nu可以显示行号)


添加好上一行后,切换到user5用户,执行ls /root 提示权限不够。执行sudo ls /root可与成功。

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

第一次执行sudo命令需要输入当前用户的密码。


在最后一个ALL前家NOPASSWD:就不用在sodu是输入用户密码


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

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


alias别名,将user5用户的sudo可执行命令改为HUANG_CMD中包含的命令。

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


保存配置文件后,sudo可以执行ls,但不能执行其他命令。

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


wheel这个组所有的用户都拥有了sudo的权利。接下来,只要把需要设置sudo权限的所有用过户加入到wheel这个组即可。

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



三、限制root远程登录

设置HUANGS这个别名,其中包含user5和huang用户

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


配置HUANGS的sudo。HUANGS可以通过sudo来执行root用户的su命令时不需要密码。

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

保存并退出。


切换到root用户时候,执行sudo su - 可以切换到root用户,并且不需要输入root密码。

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


上面的操作只是一个功能的介绍,而并非一个本节主题!!


限制root用户远程登录功能。
vi /etc/ssh/sshd_config 为sshd服务的配置文件。
默认是yes,允许root用户登录。

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

将yes修改成no,然后将前面的#去掉,并重启服务。
[root@centos-01 ~]# systemctl restart sshd.service
重启好服务之后root用户就无法用远程登录。


本文转自 豆渣锅 51CTO博客,原文链接:http://blog.51cto.com/754599082/1980762


上一篇:【降价信息】云HBase X-Pack最高降价31%,再次释放大数据处理红利


下一篇:CDP WebConsole上线公告