Linux服务器登录和切换账号
Linux服务器登录和切换账号

Linux服务器登录和切换账号

在日常工作中,经常遇到需要切换服务器、切换账号这样一类的操作。快速的实现服务器、账号的快速切换可有效的提高我们的工作效率。

登录(切换)服务器

登入服务器首先需要知道知道目标服务器的IP地址(如果是内网登录用 “服务器ID”也是可以的)、在目标服务器上的用户ID、用户密码。

#在cmd下或者MobaXterm中,用ssh即可登入192.168.0.7(server7)服务器,wangzq是我在server7服务器上的账号。
ssh wangzq@192.168.0.7
ssh wangzq@server7

重点使用的是SSH协议的远程登录功能
SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。实务中,它主要用于保证远程登录和远程通信的安全,任何网络服务都可以用这个协议来加密。

切换账号

服务器里的用户根据权限等级大致可以分为三类:Root用户、sudo权限用户、普通用户。

  • Root用户:服务器中拥有最大权限的掌管者账户。
  • sudo权限用户:sudo是一种权限管理机制。sudo权限用户是指被赋予了一些普通用户没有的特殊权限的用户。一般会赋予admin、bioinfo账号这种sudo权限。
  • 普通用户:普通的登录者用户账号。

在同一台服务器上切换账户一般使用“su”命令(switch user)。

#root用户切换至其他用户
su wangzq #可直接免密切换

#其他用户切换至root用户(su后面接空格即可,默认是切换至root用户)
su        #需要输入root用户的密码



#被赋予了sudo权限的账户可以做到免密切换
sudo su         #使用sudo权限做到免密切换(但需要 “被赋予了sudo权限的账户”的密码,保证是sudo账号本人在操作)
sudo su wangzq  #使用sudo权限做到免密切换(但需要 “被赋予了sudo权限的账户”的密码,保证是sudo账号本人在操作)

[su]和[su -]区别

[su]只是切换了root身份,但Shell环境仍然是普通用户的Shell
[su -]连用户和Shell环境一起切换成root身份了。(等效用root账号完全重新登录)
只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。

如果切换账号后需要涉及到软件运行等复杂的服务器操作,建议使用[su -]。

sudo权限的赋予

第一种方法是使用命令 usermod。

usermod -a -G sudo USERNAME
#要向用户授予 sudo 权限

第二种方法是编辑/etc/sudoers 文件。

nano /etc/sudoers
#在/etc/sudoers文件中添加需要赋予权限的账户,还可以指定具体的命令权限
#甚至可以使用NOPASSWD来阻止sudo 请求身份验证。但是这样操作会有一定的危险性,谨慎使用。

Tips:同一个账号的跨服务器免密登录方法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注