我们使用SSH或者telnet登录远端的Linux服务器的时候,假设登录使用的用户名是aaa,
登录成功后,会直接进入/home/aaa/目录下,但这时使用的用户名还是aaa,如下所示:
aaa@ubuntu:~$ pwd
/home/aaa
aaa@ubuntu:~$ whoami
aaa
我们如果要使用root用户的话,必须使用sudo –s 进行切换,应为root权限会频繁的使用,如果希望连接到Linux服务器后,自动切换到root用户,可以是使用下面的方法。
设置方法:
1. 修改普通用户的环境变量:
aaa@ubuntu:~$ pwd
/home/aaa
aaa@ubuntu:~$ vim .bash_profile 如果没有该文件,在用户的目录下创建
在该文件中添加下面的内容
aaa@ubuntu:~$ cat .bash_profile
#.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
sudo su root
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
PS:上面文件中有一条sudo su root 的命令行,su 命令的作用就是变更使用者的身份,
Linux下的su命令与su –命令是有区别的:
Su 是切换到其他用户,但是不切换环境变量,也就是还是在原先的用户目录下
su - 是完整的切换到一个用户环境,也就是,直接切换到该用户的用户目录下面。
所以,如果上面的命令不添加‘-’就会直接切换到使用用户名登陆的目录,否则切换到root目录,我们的目的只是切换到root用户,但权限不需要修改,所以不需要添加’-’.
2. 修改/etc/sudoers文件
以超级用户登录su -root,修改文件权限即添加文件拥有这的写权限
#chmod u+w /etc/sudoers
vim /etc/sudoers 编辑文件,在root ALL=(ALL)ALL行下添加
xxx ALL=(ALL) NOPASSWD: ALL
#XXX为你的用户名。
最后,
#chmod u-w /etc/sudoers 回到文件的原权限!