linux - ubuntu 使用时一些小问题整理 --- 持续更新

目录

[ubuntu 中 root用户默认不存在解决办法](#ubuntu 中 root用户默认不存在解决办法)

在Ubuntu系统中,将用户添加到sudoers文件中,使其能够以超级用户权限执行命令,通常可以通过以下几种方法实现:

方法1:将用户添加到sudo组

方法2:直接编辑sudoers文件

修改用户的shell类型

编辑/etc/passwd文件

使配置生效

检查环境变量配置

总结

使用useradd命令创建用户

设置用户密码

添加到用户组

验证用户配置

恢复home家目录

修复步骤

[1. 删除异常的home目录](#1. 删除异常的home目录)

[2. 重新创建正常的home目录](#2. 重新创建正常的home目录)

[3. 设置home目录的权限](#3. 设置home目录的权限)

[4. 重新创建用户的家目录](#4. 重新创建用户的家目录)

[5. 设置家目录的所有权和权限](#5. 设置家目录的所有权和权限)

[6. 恢复默认的shell配置文件](#6. 恢复默认的shell配置文件)

[7. 验证修复结果](#7. 验证修复结果)

[修复 .git 目录权限解决方案](#修复 .git 目录权限解决方案)

[方法 1:修复 .git 目录权限](#方法 1:修复 .git 目录权限)

[方法 2:直接修复关键文件权限](#方法 2:直接修复关键文件权限)

后续操作

修正历史提交的作者信息(可选)

关键注意事项


ubuntu 中 root用户默认不存在解决办法

root 默认不存在,要使用 root 需要为 root 设置新密码:

bash 复制代码
sudo passwd root

然后再输入密码,就可以使用root:

bash 复制代码
su root

下载vim:

bash 复制代码
apt-get install vim

在Ubuntu系统中,将用户添加到sudoers文件中,使其能够以超级用户权限执行命令,通常可以通过以下几种方法实现:

方法1:将用户添加到sudo

Ubuntu系统中,sudo组的成员默认具有sudo权限。因此,将用户添加到sudo组是最简单且推荐的方式。

  1. 打开终端

  2. 使用以下命令将用户添加到sudo

    sudo usermod -aG sudo <username>
    

    其中,<username>是需要添加到sudo组的用户名。

  3. 注销并重新登录,或者重启系统,使更改生效。

方法2:直接编辑sudoers文件

虽然不推荐直接编辑sudoers文件,因为操作不当可能会导致系统权限问题,但有时也可以通过以下步骤实现:

  1. 打开终端

  2. 使用visudo命令编辑sudoers文件

    sudo visudo
    

    visudo命令会打开一个文本编辑器(通常是nanovi),并自动检查语法错误。

  3. 在文件中添加以下行

    <username> ALL=(ALL:ALL) ALL

    这表示用户<username>可以以任何用户的身份执行任何命令。

  4. 保存并退出编辑器

    • 如果使用的是nano,按Ctrl+X,然后按Y确认保存,最后按Enter键退出。

    • 如果使用的是vi,按Esc键,输入:wq并按Enter键保存并退出。

修改用户的shell类型、问题:用户的提示符只有$

pupu用户的提示符只有$,没有显示当前目录等信息,并且快捷键用不了,这可能是因为其默认的shell是sh而不是bashsh不支持一些快捷键操作,如方向键等,因此需要将pupu用户的shell改为bash

编辑/etc/passwd文件

使用文本编辑器打开/etc/passwd文件:

sudo vi /etc/passwd

找到pupu用户对应的行,将行末的/bin/sh改为/bin/bash,修改后的行类似如下:

pupu:x:1002:1003::/home/pupu:/bin/bash

保存并退出编辑器。

使配置生效

切换到pupu用户,查看是否能够正常显示提示符和使用快捷键:

su - pupu

检查环境变量配置

如果修改shell类型后问题仍然存在,可以检查pupu用户的环境变量配置。编辑~/.bashrc文件,确保其中没有错误的配置:

nano ~/.bashrc

如果发现异常配置,可以参考默认的/etc/skel/.bashrc文件进行修复。

使用useradd命令创建用户

sudo useradd -m -s /bin/bash 新用户名
  • -m:自动创建用户的家目录(/home/新用户名)。

  • -s /bin/bash:指定用户的默认shell为bash,确保支持快捷键和完整功能。

设置用户密码

sudo passwd 新用户名

按提示输入并确认新用户的密码。

添加到用户组

sudo usermod -aG sudo 新用户名

将新用户添加到sudo组,使其具有管理员权限。

验证用户配置

切换到新用户,检查家目录、shell功能和快捷键是否正常:

su - 新用户名

通过以上步骤创建的新用户,其提示符会显示用户名、主机名和当前目录,并且支持方向键等快捷键操作。

恢复home家目录

看起来你已经以root用户身份登录,并且当前所在目录是根目录/。从输出结果来看,根目录下有一个异常的home目录(home$'\b'),这可能是由于之前的误操作导致的。

修复步骤

1. 删除异常的home目录

首先,删除这个异常的home目录:

rm -rf /home$'\b'
2. 重新创建正常的home目录

创建一个正常的home目录:

mkdir /home
3. 设置home目录的权限

确保home目录的权限正确:

chmod 755 /home
4. 重新创建用户的家目录

pupuubuntu用户重新创建他们的家目录:

mkdir /home/pupu
mkdir /home/ubuntu
5. 设置家目录的所有权和权限

确保这些家目录的所有权和权限正确:

chown -R pupu:pupu /home/pupu
chown -R ubuntu:ubuntu /home/ubuntu
chmod 700 /home/pupu
chmod 700 /home/ubuntu
6. 恢复默认的shell配置文件

如果家目录被删除,用户的shell配置文件(如.bashrc.profile等)也会丢失。我们可以从系统的默认配置文件中恢复这些文件。

对于pupu用户:

cp /etc/skel/.bashrc /home/pupu/
cp /etc/skel/.profile /home/pupu/
chown pupu:pupu /home/pupu/.bashrc
chown pupu:pupu /home/pupu/.profile

对于ubuntu用户:

cp /etc/skel/.bashrc /home/ubuntu/
cp /etc/skel/.profile /home/ubuntu/
chown ubuntu:ubuntu /home/ubuntu/.bashrc
chown ubuntu:ubuntu /home/ubuntu/.profile
7. 验证修复结果

切换到pupu用户,验证是否能够正常访问家目录并执行操作:

su - pupu

同样,切换到ubuntu用户进行验证:

su - ubuntu

在上传代码到gitee的时候如果是第一次,并且在 git commit 的时候忽略了他的报错 ,再使用sudo去使用root权限上传就会导致虽然代码上传了,但是没有绿点的问题。

修复 .git 目录权限解决方案

方法 1:修复 .git 目录权限

.git 目录及其文件的所有权归还给当前用户(替换 pupu 为你的实际用户名):

bash 复制代码
sudo chown -R pupu:pupu .git

此命令递归修复 .git 目录下所有文件的属主,确保普通用户有读写权限。

方法 2:直接修复关键文件权限

如果仅需修复 COMMIT_EDITMSG 文件:

bash 复制代码
sudo chown pupu:pupu .git/COMMIT_EDITMSG

后续操作

  1. 重新提交代码

    bash 复制代码
    git add .
    git commit -m "你的提交信息"
    git push
  2. 验证提交者信息

    • 提交后检查 Git 日志,确保作者信息正确:

      bash 复制代码
      git log --pretty=format:"%h - %an, %ae, %ad"
    • 如果作者信息仍为 root,使用 git commit --amend 修正(见下文)。


修正历史提交的作者信息(可选)

如果之前的提交仍关联 root 身份,可通过以下命令修正:

cpp 复制代码
git commit --amend --author="你的Gitee用户名 <你的Gitee绑定邮箱>"
git push --force

关键注意事项

  1. 避免使用 sudo 操作 Git

    • Git 仓库无需 root 权限,始终以普通用户操作。

    • 如果遇到权限问题,优先修复目录权限,而非使用 sudo

  2. 检查全局 Git 配置

    • 确保已正确配置全局邮箱和用户名:
    bash 复制代码
    git config --global user.email "你的Gitee绑定邮箱"
    git config --global user.name "你的Gitee用户名"
  3. 强制推送的风险

    • git push --force 会覆盖远程仓库历史,仅在私有仓库或独立开发时使用。

ubuntu、vim编译器配置:

README.md · chenxuan/vim-fast - 码云 - 开源中国

bash 复制代码
curl https://gitee.com/mirrorvim/vim-fast/raw/master/shell/webinstall.sh | bash

((在安装完毕后如果遇到输出混乱的问题,可以直接关闭终端重启就可以了))

  1. 出现

    后按下回车

  2. 出现下图,安装完成

xshell,tmux 打开的颜色混乱

  • xshell中 "工具" -> "选项" -> "高级"->"使用本色",打开后重启xshell

  • tmux

    1. 通过echo $TERM 查找终端类型,通常是xterm-256color或者screen-256color

    2. 编辑~/.tmux.conf 添加

    set -g default-terminal "xterm-256color"
    #set -g default-terminal "screen-256color" # 如果使用screen-256color则用这条指令
    set-option -ga terminal-overrides ",256col:Tc"

    1. 重启tmux
  • 如果还是无法解决,可以切换主题为onedark,并关闭termguicolors,设置

  • let g:onedark_termcolors=256

其他问题直接查看大佬的gitee就行

相关推荐
Truraly田园2 分钟前
迁移Kubuntu到thinkbook14+ 2025
linux·驱动开发·ubuntu
勤不了一点30 分钟前
【ELK】ElasticSearch 集群常用管理API操作
linux·elk·elasticsearch
Pee Wee36 分钟前
Linux服务器使用docker离线安装MySQL
linux·服务器·docker
春天的菠菜44 分钟前
【自动化】Automa网页自动化之路
运维·自动化
自律的阿龙1 小时前
Linux练级宝典->动态库和静态库
linux·运维·服务器
zym大哥大1 小时前
Linux信号之捕捉信号
linux
liuyunluoxiao1 小时前
进程(下)【Linux操作系统】
linux
什么半岛铁盒1 小时前
【Linux系统】进程优先级:进程间的权力游戏
linux·运维·游戏
pe7er1 小时前
Mac mini作为服务器每天定时开、关机设置
服务器·macos·程序员
skywalk81632 小时前
Windows10下docker desktop命令行操作指南(大部分也适用于Linux)
运维·docker·容器