su命令、sudo命令以及限制root用户远程登录

su命令

su:切换用户的命令。root用户切换到任何用户都不需要密码,普通用户切换到其他用户或者root用户都需要密码。

whoami:查看当前是哪个用户。

id:查看当前是哪个用户并列出详细信息。

su 和 su - 的区别:su - 会彻底切换到某个用户,包括家目录、环境变量等等。一般切换用户就使用su - 用户名。直接su - 是切换到root用户。

su - -c  "命令"  用户名:以某个用户的身份去执行某个命令。(不切换到用户)

sudo命令

sudo:使某个指定的用户可以使用某些root的命令。这样就可以不用告诉他root的密码也能执行一些权限较高的命令,更安全。

visudo:打开sudo的配置文件。相当于vi /etc/sudoers。不建议后一种方法,最好使用visudo这个命令,因为可以检测到语法错误,不容易出错。

找到 root  ALL=(ALL)  ALL 这一行,在这一行的下方添加条目。格式为:

用户  ALL=(ALL)  命令的绝对路径:让前面的这个用户可以执行后面的命令。(命令之间用逗号隔开)

使用这些命令前一定要加sudo,而且第一次使用时会提示输入用户的密码,之后就不需要了。

如果不想提示输入密码,则可以在配置文件里做如下修改:

在vi编辑器里,进入底行模式,输入set nu,即可显示行号。输入set nonu,即可取消显示行号。

visudo里面可以设置别名,可以设置用户别名和命令别名,方便批量管理。具体格式如下:

除了别名可以批量管理,也可以通过组来管理,把需要sudo的用户都放到一个组里,然后再在visudo里面设置,如下:

限制root用户远程登陆

vi /etc/ssh/sshd_config,打开ssh的配置文件。找到 #PermitRootLogin yes 这一行,去掉前面的#号,把yes改为no,保存退出。重启sshd服务 systemctl restart sshd。重新打开一个终端,连接服务器,发现无法登陆root用户,但普通用户可以正常登陆。登陆普通用户后可以正常切换到root用户。

若想实现某个普通用户切换到root用户不需要密码,则把su命令添加到sudo里面即可。

原文地址:http://blog.51cto.com/12272471/2095469

时间: 2024-07-29 12:22:06

su命令、sudo命令以及限制root用户远程登录的相关文章

【Linux安全】防止 root 用户远程登录

防止 root 用户远程登录,在终端输入以下命令: vim /etc/ssh/sshd_config 修改如下行为:no PermitRootLogin no 如图所示:

禁止root用户远程登录

Linux修改ssh端口22 vi /etc/ssh/ssh_config vi /etc/ssh/sshd_config 然后修改为port 8888 以root身份service sshd restart (redhat as3) 使用putty,端口8888 Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如下 : /usr/sbin/sshd -p 1433 为增强安全 先增加一个普通权限的用户: #useradd uploader #passwd

CentOS禁用root用户远程登录

为了增加服务器安全性,一般做法都会禁用root用户的远程登录权限. 禁用root用户远程登录做法: 修改/etc/ssh/sshd_config文件,将 #PermitRootLogin yes 修改为: PermitRootLogin no 注意去掉#符号.禁止以后,可以使用普通用户登录,登录后若需要root权限,可以使用"su"切换到root用户.或者配置sudo使普通用户使用某些root权限.这样可以在一定程度上增加系统的安全性.

linux下开启SSH,并且允许root用户远程登录,允许无密码登录

参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh/sshd_config 调整PermitRootLogin参数值为yes,如下图: 2. 允许无密码登录 同上,修改ssh服务配置文件,两种情况: 1) 将PermitEmptyPasswords yes前面的#号去掉 2) 将PermitEmptyPasswords 参数值修改为yes,如下图:

Linux SSH 允许root用户远程登录和无密码登录

1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh/sshd_config调整PermitRootLogin参数值为yes,如下图: 2. 允许无密码登录同上,修改ssh服务配置文件,两种情况: 1) 将PermitEmptyPasswords yes前面的#号去掉 2) 将PermitEmptyPasswords 参数值修改为yes,如下图: 无论哪种,最后PermitEmptyPasswords参数值为yes 以上两种配置,均需要重启ssh服务 serv

ssh以root用户远程登录失败

参考文献: http://blog.csdn.net/lichangzai/article/details/39379153 http://blog.csdn.net/yasi_xi/article/details/8633189 通过secure crt远程ssh连接linux服务器,使用root用户直接访问,无法登陆成功.只能以普通用户登录,然后su root才能切换到 root账户. 解决方法: 1) 普通用户登录,然后su root切换到root账号, 2) vim /etc/ssh/s

CentOS下配置MySQL允许root用户远程登录

1.常用命令: 安装上传下载文件命令yum install lrzsz安装webget工具yum -y install wget ------------------------------------分割线--------------------------------------------- 在CentOS上成功安装MySQL Server后,发现无法用客户端进行连接,查阅相关质料后发现如果想让root用户支持远程登录,是需要进行额外配置的:配置步骤如下: 步骤:    修改root密码

Mysql授权root用户远程登录

默认情况下Mysql的root用户不支持远程登录,使用以下命令授权 [[email protected] ~]$ mysql -uroot -p123 MariaDB [(none)]> use mysql; MariaDB [mysql]> select Host from user; +-----------+ | Host      | +-----------+ | 127.0.0.1 | | ::1       | | localhost | +-----------+ 3 rows

Linux-解决putty无法直接使用root用户远程登录linux主机的问题

问题描述: 有时,在使用putty连接远程linux主机时会发现,无法直接使用root登录, 但是可以使用其他用户登录,然后切换至root用户. 解决办法: 1.修改配置文件 vi /etc/ssh/sshd_config  2.查找PermitRootLogin项, 设置为 PermitRootLogin yes  3.保存退出  4.重启ssh服务,问题解决