删除用户 stack,同时删除他的工作目录
userdel -r stack
参考:https://blog.csdn.net/GMingZhou/article/details/78706439
但是无法删除干净。。。直接用rm命令也是一样
暂时不管了,先再次 create a separate stack user
sudo useradd -s /bin/bash -d /opt/stack -m stack
然后赋予stack超级用户的权限:
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
但是当我切换到stack用户时
sudo su - stack
它变成了下面这样:
什么鬼?Linux中切换用户变成-bash4.2-$
参考:https://blog.csdn.net/Abysscarry/article/details/79866079
我在/home目录下创建了一个文件夹stack,但是我并没有用useradd -r 创建系统用户啊。而且我的/etc/skel目录下是空的,啥东西都没有。。。并不是啥东西都没有,都是些隐藏文件。。。是打开的方式不对。。。
但是最后照上面那个博客做并不能解决问题。。。。。。
参考:https://www.jianshu.com/p/d9006453dbf7
应该是我的stack是创建在/opt/stack下,而不是/home/stack
问题解决。。。之前是我智障了。。。
关于之前的无法删除问题,查看之前删不掉的etcd文件
rwt是什么鬼?
参考:https://www.cnblogs.com/qlwy/archive/2011/06/26/2121919.html
大概就是这个rwt中的t位为sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.
试着把其改为rwx呢?
啧,还是不能删除。。。
把之前那个sticky bit去掉呢?
还是不行。。。
于是我参考下面这篇博客
参考:https://segmentfault.com/a/1190000017086124
博客说 rm -rf {mydir}/ 删除不了,可能挂载了盘在这个目录
然后我卸载它 sudo umount etcd/
但是还是无法删除
看谁在用这个目录或者占用,找出来,杀掉
进入该目录cd /opt/stack/data,查看资源占用进程 lsof +d etcd/ 显示目录占用的进程
然而并没有资源占用进程。
重点(挂载目录无法删除,即使卸载了盘,也无法删除之前的目录)
那么我们可以查看mount 到底挂着哪里,那个地方(注意:根目录盘是不能挂载盘的,例如windows系统c盘)
mount | grep etcd
关于tmpfs可以参考这篇博客:https://blog.csdn.net/haibusuanyun/article/details/17199617
同一个文件重复挂载到同一个盘?然后我重复卸载相应的次数,直到没有挂载了
可以发现卸掉挂载的盘之后就能顺利删除文件了
出现的一些小问题,没有文件就再建一个
再按照之前的方法解决Linux中切换用户变成-bash4.2-$问题。