Linux切换用户时报错/.bash_profile: Permission denied,命令行(终端提示符)出现-bash-4.2$

利用su - 切换用户时,发现有一个用户切时出现如下情况

[root@localhost ~]# su - aaa
su: warning: cannot change directory to /home/aaa: Permission denied
-bash: /home/aaa/.bash_profile: Permission denied
-bash-4.2$


观察报错信息发现是对家目录/home/aaa没有权限,于是查看/home目录下的文件信息


发现用户aaa的家目录文件的所属者和所属组有异常,一般情况下用户家目录这两者都是用户自己,如上图中的用户alex,userA和userB

对aaa/目录的所属者进行进行修改,修改之后再进行用户切换无报错


问题虽然解决了,但是我记得系统里并无2133这个账户,而且我也没有建立过这个用户。于是我便把终端操作的历史记录导出,查找这个不存在用户“2133”是否真的曾经存在

通过查找,发现是之前在创建用户aaa时指定了其的uid为2133,但是随后在588行删除了这个用户

但其实userdel aaa这条命令只会删除用户,但不会删除它的家目录,只有用userdel -r aaa 才会连同用户和家目录一起删除。虽然在589行执行了userdel -r aaa命令,但aaa用户已经不存在了,所以这命令是无效的。

在590行又创建了aaa用户,由于同名家目录已经存在了,所以在创建aaa用户时并不会重新创建或者覆盖/home/aaa目录,因此该目录的所属者仍是“上一代“的aaa(id 2133)用户

Linux切换用户时报错/.bash_profile: Permission denied,命令行(终端提示符)出现-bash-4.2$的更多相关文章

  1. Linux 删除用户时报错:userdel: user zhoulijiang is currently used by process 1

    一.发现问题: 有技术人员离职,需要删除系统帐号,但是进行删除操作的时候报:" userdel: user zhoulijiang is currently used by process ...

  2. Linux 切换用户提示Permission denied

    在使用 su - hdfs 切换到 hdfs 用户时提示 su: Permission denied,但是密码确认是没错的. 找到文件 /etc/pam.d/su,注释掉 auth required ...

  3. su: warning: cannot change directory to : Permission denied ;-bash: bash_profile: Permission denied

    一.查看主目录权限对不对 1:问题描述 [root@ser6-52 ~]# su - mongodb su: warning: cannot change directory to /home/mon ...

  4. linux 下执行.sh文件提示permission denied

    linux 下执行.sh文件提示permission denied 在脚本文件目录下运行命令,赋予权限: chmod 777 *.sh or chmod +x  *.sh

  5. Git报错:Permission denied (publickey)

    Git在克隆的时候报错.Permission denied (publickey). 报错 Permission denied (publickey) 具体如下: 原因:没有将自己的电脑的SSH ke ...

  6. Linux中命令行终端切换工具screen

    screen命令 本文转自:http://man.linuxde.net/screen Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令 ...

  7. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  8. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  9. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

随机推荐

  1. Java设计模式十九——责任链模式

    责任链模式 老李的苦恼 每个人在出生的时候,都早已在暗中被标好了三六九等. 老李是一名建筑工地的木匠,和大多数生活在社会最底层的农民工一样,一辈子老实本分,胆小怕事.在他们的心中,谁当老爷都没有区别, ...

  2. Spring AOP学习笔记05:AOP失效的罪因

    前面的文章中我们介绍了Spring AOP的简单使用,并从源码的角度学习了其底层的实现原理,有了这些基础之后,本文来讨论一下Spring AOP失效的问题,这个问题可能我们在平时工作中或多或少也会碰到 ...

  3. 08 . Prometheus+Grafana监控haproxy+rabbitmq

    List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz haproxy_exporter-0.11.0.linux-amd64.tar.gz 节点名 IP ...

  4. Quartz.Net系列(九):Trigger之CronScheduleBuilder和Cron表达式详解

    1.使用 var scheduler =await StdSchedulerFactory.GetDefaultScheduler(); await scheduler.Start(); var jo ...

  5. nodejs 获取当前路径的方法

    var path = require("path"); var url = path.resolve('./');

  6. HDU 4143 A Simple Problem 题解

    题目 For a given positive integer n, please find the saallest positive integer x that we can find an i ...

  7. 【译】Exception Helper – Rethrown Exceptions

    是否曾经在异步编程时引发过异常?因为调试器没有显示异常发生的位置而感到沮丧?或者在查看具有内部异常的异常时感到沮丧?调试器不容易显示该异常来自何处.从 Visual Studio 2019 16.5 ...

  8. 16进制字符串转BCD码

    15位IMEI字符串转8位BCD码 public static string SwapStr(string str) { return (str.Substring(1, 1) + str.Subst ...

  9. combogrid设置多选,并获取多选的值

    1.combogrid设置多选 1.添加该属性 multiple: true, 2.添加该列 {field:'ck',checkbox:true}, 2.获取多选的值 var arr = $(&quo ...

  10. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...