Linux中root用户找不到JAVA_HOME

Linux中root用户找不到JAVA_HOME

在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubuntu默认是不以root用户登录的,这时echo $PATH可以看到JAVA_HOME已经被设置好了,java命令也可以执行。接下来su root,再输入java命令提示找不到java命令,$PATH中也找不到JAVA_HOME这个路径了。查了很久的资料也没有找到原因,后来偶然切换用户的时候用了su - root命令,这时又可以找到JAVA_HOME这个变量了。

对比了一下su和su - 这两个命令的差别才明白:su是切换用户存取权限,但是没有获得环境变量,所以PATH没有被带入;su -是完全的切换用户,可以获得环境变量,所以可以找到JAVA_HOME。

原文地址:https://www.cnblogs.com/micro-chen/p/11621966.html

时间: 2024-10-21 01:54:40

Linux中root用户找不到JAVA_HOME的相关文章

[转]Linux中root用户找不到JAVA_HOME

在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubuntu默认是不以root用户登录的,这时echo $PATH可以看到JAVA_HOME已经被设置好了,java命令也可以执行.接下来su root,再输入java命令提示找不到java命令,$PATH中也找不到JAVA_HOME这个路径了.查了很久的资料也没有找到原因,后来偶然切换用户的时候用了su - root命令,这时又可以找到JAVA_HOME这个变

Linux中Root用户密码变更、密码忘记

用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu,随即长按shift进入grub菜单: 2.选择recovery mode,即Ubuntu,With Linux 3.2.0-23-generic(recovery mode),按e,编辑启动参数: 3.把ro recovery nomodeset 改成rw single init=/bin/bash

linux 中 root用户登入mysql数据库权限受限

今天发现一个奇怪问题,root用户登入mysql数据库突然变得权限受限制了,没有权限mysql库 我的解决办法是在my.cnf配置文件内增加一条 ship-grant 免密码使用root账户登入数据库,发现可以查看到所有的数据库了,这时在重新设置下root账户的权限 grant all on *.* to 'root'@'localhost' identified by 'password'; 退出mysql 取消#skip-grant 然后重启mysql服务 ,再次用root登入mysql一切

Linux重置root用户密码

忘记密码.是常事儿!怎么改?往下看!! Linux 最大权限的 root用户密码忘记了?咋么办.重做系统?当然,可以这样子!!!但是在生产环境中.......行么?答案:no(随带提一句:就算是在学习过程中,建议您也按照生产环境来玩(Linux) 初学Linux,root密码忘记了,第一次玩!! ----------------------------------------------------------------------------------------- 操作步骤: 重启Lin

Linux-(10)Linux中的用户和组

和Windows一样,当我们使用Linux时,也需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用,不可以使用哪些资源. 在我们使用Linux时,都是用一个用户名来进入系统的,而实际上在Linux中,每一个用户都拥有一个UserID,操作系统实际使用的是用户的ID来区分用户,而不是我们登录系统用的用户名. 在Linux中,每个用户都属于一个主组,属于一个或多个附属组.主组默认是和用户名相同的,也就是说创建用户的时候会默认创建一个同名的组. 同用户一样,每个

Linux中的用户和组

Linux中,用户可大致分为两类:管理员 和 普通用户. 普通用户又可以细分为 系统用户 和 登录用户. 我们知道Linux中默认的管理员用户名叫 root,那么操作系统是怎样识别一个用户是 管理员用户 还是 普通用户呢,是跟我们想象的一样,通过用户名去识别吗?并不是,操作系统是通过UID去识别用户是否为管理员的,这里说到的UID是一个数字,它标识了用户的身份,管理员用户的uid为0,所以操作系统判断一个用户是否为管理员,就是去判断这个用户的UID是否为0,跟用户名没有任何关系. 管理员的UID

linux中root密码忘了怎么办?

破解LINUX中root 密码 1.重新启动linux主机,在出现GRUB菜单时按下e键,出现下面的状态: 2.再按下e键.用上下键选择以kernel开头的一行(内核) 4.再一下按e,按下空格在行尾添加"single"启动参数,或者输入数字"1"或者字母"s",进入到单用户模式. 5.按enter 确认后,还回到第2步的界面.按b键将系统引导进入单用户模式,直接进入shell 环境 6.执行"passwd root"重新给管

破解Linux系统root用户密码

linux系统的启动过程  在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程 1 开机自检(POST),初始化部分硬件 2 搜素可用于引导的启动设备(如磁盘的MBR) 3 读取并将控制权交给系统启动加载器(grub2) 4 启动加载器加载器配置,显示可用配置菜单 5 启动加载器加载内核及initramfs,置入内存 6 启动加载器将控制权交给内核 7 由内核查找initramfs中的硬件驱动,作为PID=1从initramfs执行/sbin/init (在RHEL7中,

【Hadoop系列】linux下 root用户免密码登录远程主机 ssh

操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免密码登录远程主机 ssh请转至此链接:XXXXXXXXXXXXXXXX(暂未写好) 一.远程主机B和用户A都安装openssh 首先我们检查远程主机是否安装openshh和rsync rpm -qa|grep opensshrpm -qa|grep rsync 如果没有返回相关信息代表并未安装,我们用yum指令安装. yum install openssh