您的位置:首页 > 其它

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

2017-11-10 20:41 603 查看
一、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。此时显示正常。





二、sudo命令
sudo 命令可以让当前普通用户执行一个只有root用户才能执行的命令。需要输入用户密码。
visudo 查看sudo的配置文件(必须使用root用户才能编辑,而且不建议用vi编辑)
其中,这行是重点,意思是允许root用户去运行所有的命令在任何地方。



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



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

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



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

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








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




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




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




三、限制root远程登录
设置HUANGS这个别名,其中包含user5和huang用户




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




保存并退出。

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




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

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



将yes修改成no,然后将前面的#去掉,并重启服务。
[root@centos-01 ~]# systemctl restart sshd.service
重启好服务之后root用户就无法用远程登录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 sudo su