`
winhyt
  • 浏览: 108294 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

root用户不能正常切换到其他用户

阅读更多
    又一个莫名其妙的问题,不知道为什么,linux下,root用户不能正常切换到其他用户。报错信息:
    [root@linuxoracle home]# su - weblogic
    su: /bin/bash: Permission denied

感觉很奇怪,为什么那? 我又没有做什么操作,只是做了一个将一个文件夹以及其下的所有文件赋权给某个用户而已。语句:chown -R weblogic:weblogic /home
结果再切换到weblogic用下,就报上面的错误啦,难道上面的语句导致赋权又问么?也许是有问题目前只是没有看出来,怎么回事。
    关于这个问题,在网上一通查,发现大家前篇一律的转载了一片文章。不知道那个事原作者:文章URL:http://www.ixpub.net/thread-1038218-1-1.html
   按照这个作者的思路,我做了下,也没法什么问题,都正常。其中有一句,根目录下的文件夹都加上755,死马当活马医吧,我就照做啦,命令如下:chmod 755 /*。
   结果,结果 呵呵 好用啦,不知道什么原因引起的,也不知道那块出现了问题,这样执行到底改变了那里的权限,现在好用了,暂且记录在此吧,希望以后能知道为什么!

另外将上面提到的网址内容粘贴过来,以便于学习那位作者的思路是非常好的,值的学习。
转载地址:URL:http://www.ixpub.net/thread-1038218-1-1.html
内容如下:
客户一个oracle突然当机了,由于业务启动,客户下意识的重启了服务器,系统是起来了,准备切换到oracle用户下启动数据库,可以怎么都无法su切换,真是火上浇油呀,描述如下:
在root用户下,su到一个普通用户oracle,得到如下错误:

[root@localhost ~]# su -  oracle
su: warning: cannot change directory to /home/oracle: Permission denied
su: /bin/bash: Permission denied

而oracle用户也无法通过直接登录,出现同样错误。

这是一个非常奇怪的问题,到底是什么导致的呢?思路如下:
1,程序执行权限问题
2,程序依赖的共享库权限问题
3,目录权限问题
4,根空间问题。

检查/bin/bash,权限正确,检查/home/oracle权限正确,检查/lib/ld-***.so,权限也正确。

继续调试,检查/etc/passwd,将oracle的home设置为/tmp,把/tmp设置为777,这个权限应该是最宽松的。

而su出现同样的错误。

也就是oracle用户无法访问777权限的/tmp。

问题到底出现在哪里呢?

最后
通过star命令,看到了问题根本,
[root@localhost ~]#stat  /
输出如下:因为你ls是看不到的。
  File: “/”
  Size: 1024            Blocks: 2          IO Block: 1024   目录
Device: 803h/2051d      Inode: 2           Links: 22
Access: (0666/drw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-12-01 22:28:48.000000000 +0800
Modify: 2007-12-01 22:28:34.000000000 +0800
Change: 2007-12-01 23:17:35.000000000 +0800

问题出来了,这里的权限是错误的,X权限的丢失造成的。

[root@localhost ~]#chmod 755 /


修改后,问题消失。

产生上述问题的方法:
第一种,chmod 666 /,可以导致。

或者,
第二种,chmod 700 /lib/ld-xxxx.so,也可以导致su失败。

有兴趣可以自己试一下。

/ 权限的丢失对于各种运行在自己用户身份上的daemon也存在同样的影响。
分享到:
评论

相关推荐

    ubuntu添加root用户后没有声音

    1. **权限问题**:当用户从非root账户切换到root账户时,由于root用户默认不包含在某些关键的用户组中(如audio、pulse等),这可能导致音频驱动无法正常工作。这些用户组对于访问音频硬件和软件(如PulseAudio)至...

    Linux用户之间的切换,新用户的创建

    一旦验证通过,将切换到root用户身份,并加载root用户的环境变量。 #### 二、新用户的创建 在Linux系统中,创建新用户是一项常见的任务,尤其是在需要为新的系统管理员或应用程序创建用户账户时。 **步骤1:添加...

    ubuntu进入root用户

    su 命令和 sudo 命令都是用于切换用户或获得 Root 权限的命令,但是它们有所不同: * su 命令:临时切换到 Root 用户,需要输入 Root 用户的密码。 * sudo 命令:临时获得 Root 权限,需要输入当前用户的密码。 ...

    ubuntu 允许root用户登录

    有时候可能需要临时使用root用户进行一些操作,这时可以使用以下方法快速切换到root用户: 1. 在终端中输入 `su root` 命令。 2. 按照提示输入root用户的密码。 3. 成功切换后,终端提示符会变为root用户的状态,...

    在HMC中hscroot用户su到root用户的方法.docx

    `su`命令用于切换用户,这里的目标是从hscroot用户切换到root用户。 6. **执行exit命令**:复制完成后,输入`exit`命令两次,第一次退出救援模式,第二次重启HMC系统。 7. **系统重启**:重启后,hscroot用户可以...

    忘记root用户密码.txt

    ### 忘记Linux Root用户密码的恢复方法 在日常运维工作中,可能会遇到忘记Linux系统root...同时,了解其他备用方案也能帮助你在不同场景下解决问题。记得在重置密码后加强密码安全策略,避免未来再次发生类似问题。

    Ubuntu安装时没注册root用户密码,怎么登录root.rar

    这会将你切换到root权限,但不会显示root提示符。 2. 如果你确实需要设置root密码,可以按照以下步骤操作: - 启动Ubuntu到恢复模式(Recovery Mode): - 重启电脑,在GRUB引导加载器出现时,选择你的Ubuntu启动...

    linux普通用户su root切换提示没有文件或目录的解决方法

    总之,当Linux普通用户使用`su`命令切换到`root`时遇到“没有文件或目录”的错误,通常是由于用户配置文件不正确或者系统状态异常。通过进入单用户模式,检查并修正`/etc/passwd`中的用户信息,可以有效地解决这个...

    MySQL恢复root用户超级权限方法.docx

    ### MySQL恢复root用户超级权限方法 #### 背景与问题描述 在使用MySQL数据库时,如果忘记了root用户的密码或由于某些原因导致root用户失去了超级权限(即管理员权限),那么将会给数据库管理带来极大的不便。本文...

    ubuntu-设置root用户直接连接xshell.pdf

    如果一切正常,你应该能看到Ubuntu系统的命令行界面,表示root用户已经成功地通过Xshell远程登录。 #### 八、注意事项 1. **安全性**:虽然root用户远程登录带来了便利性,但也增加了系统的风险。建议仅在必要时...

    「Linux下如何限制Root用户进行远程登陆」.docx

    在Linux系统中,确保系统的安全性至关重要,特别是对于root用户,它是系统最高权限的持有者。本文主要讨论如何限制root用户进行远程登录,以降低系统被恶意攻击的风险。以下是四种有效的方法: 方法一:修改`/etc/...

    怎么在suselinux下改root密码

    在SuSE Linux系统中,如果当前登录用户为root,或者普通用户通过`su`命令切换到root用户后,可以通过以下步骤来更改root密码: 1. 打开终端。 2. 输入`sudo passwd root`或直接`passwd`命令(如果当前用户就是root...

    破解linux系统用户ROOT的密码

    4. **切换到ROOT用户**: 系统启动后,你会看到一个命令提示符,没有用户名,只有`#`号,表示你现在处于ROOT权限。在这种状态下,你可以执行任何需要的管理任务。 5. **重置密码**: 使用`passwd root`命令来更改...

    修改mysql root用户密码

    ### 修改MySQL Root用户密码 在数据库管理中,定期更改管理员账户密码是一项重要的安全措施。对于MySQL数据库来说,`root`用户是最具权限的账户,因此确保其安全性至关重要。本文将详细介绍如何通过不同的方法来...

    如何恢复对 root 用户特权的访问

    在AIX操作系统中,root用户具有最高的系统管理权限,因此恢复这种访问权限至关重要。本篇将详细介绍在AIX系统中如何在root密码不可用或未知时恢复root用户的访问。 首先,你需要准备的是主机设备以及系统安装介质,...

    ROOT用户密码破解

    在Linux系统中,ROOT用户拥有最高的系统权限,可以执行所有操作。然而,如果忘记了ROOT用户的密码,可能会导致无法正常登录并进行系统管理。本篇将详细介绍三种常见的ROOT用户密码破解方法,帮助你重新获取ROOT权限...

    MySQL(root用户)密码重置

    3. 在这个状态下,需要另外打开一个新的命令行窗口,执行命令mysql进入MySQL命令行工具,此时不需要输入密码即可访问MySQL的root用户。 4. 通过执行SQL语句`UPDATE mysql.user SET password=password('新密码') ...

    Android应用程序请求root权限代码

    这里的“su”是Unix/Linux系统中的命令,用于切换用户身份,此处意在获得root权限。 3. **执行命令**: - 使用`DataOutputStream`向进程输出流写入命令。首先写入的是`"chmod 777 " + pkgCodePath`,这条命令的...

    服务器root用户密码过期导致无法连接Mysql数据库的解决方案.docx

    **步骤二:切换到root用户** 由于我们当前的目标是更新root用户的密码,所以需要获取root权限。在终端中,输入以下命令: ```bash sudo su ``` 然后根据提示输入当前用户的密码。这将让你以root身份登录。 **步骤三...

    破解Centos7-root用户密码.pdf

    随后,我们需切换到挂载的根系统分区中,以便像正常系统启动那样进行操作。使用`chroot /sysroot/`进入这个环境,此时,我们就像在正常运行的系统中一样进行操作。 在chroot环境中,可以直接修改root用户的密码。...

Global site tag (gtag.js) - Google Analytics