Linux-Ubuntu虚拟机修改用户名为学号的试错解决
[TOC]
Linux-Ubuntu虚拟机修改用户名为学号的试错解决
新开的大数据基础课要求创建学号为用户名的Ubuntu虚拟机,许久不使用虚拟机了,在基本操作中遇到了一些新问题,特此记录。
最初我只是想着新建一个用户:
sudo useradd username -m
-m的目的是在home路径下创建该用户的文件夹。
在创建成功后切换至学号用户下:
问题一:
应该出现的1903@dc-virtual-machine:~/Desktop$并未出现,只有$,正常情况下应该是切换到用户后直接到用户所在目录下,见招拆招:
在/etc/passwd下保存各个用户的记录,翻到底部:
将1903这一行末尾的sh改为bash,原因为在Ubuntu下默认sh为dash,有许多命令受限,因此将sh改为bash也就方便了我们的操作。
至于如何全局修改可以使用:
sudo dpkg-reconfigure dash
弹出选择框选择no就可以修改成功了。
这里需要说明一下sh和bash的区别:
问题二:
在使用useradd username
后出现异常
useradd: group userone exists - if you want to add this user to that group, use -g.
原因为创建用户时未指定用户组,系统会默认创建同名用户组,用户不存在,但同名用户组却已存在,产生冲突导致异常。
所以需要指定银行组:
useradd -g user_group user_name
查看所有用户:cat /etc/passwd
查看所有用户组:cat /etc/group
问题三:
使用vi命令进行编辑时方向键乱码,出现ABCD,并且退格键不可使用
我本来的方法是先强制退出,再回来使用del键删除ABCD。
查询资料后明白如何更好地处理:
首先使用sudo apt-get install vim
这里可能会报错:
解决方案为:
sudo apt-get update && sudo apt-get install vim
可能有点久,耐心等待一会儿。
成功后使用vi命令:
方向键操作正常,insert也成功出现了:
问题四:
使用userdel删除用户
sudo userdel -r username
提示:
userdel: user *** is currently used by process ID
https://blog.csdn.net/ch520my/article/details/87937684
在上面这篇文章里提到的是
使用vipw
和 vipw -s
分别操作etc/passwd
和/etc/shadow
删除对应的用户信息及其备份。
刚开始我还在想vipw和vipw -s到底是什么,看到这一篇我才明白过来。
问题五:
vim删除空白行和特定行,其实这个问题也是第三个问题的影响,解决办法:
删除注释行 :g/^#/d
删除空白行 :g/^\s*$/d
:g 代表在全文档范围内
^代表行的开始
\s*代表空白字符
$代表行的结束
d代表删除
参考文章:
https://blog.csdn.net/qq_25844137/article/details/80841451
https://blog.csdn.net/ch520my/article/details/87937684