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命令会打开一个文本编辑器(通常是nano或vi),并自动检查语法错误。

  3. 在文件中添加以下行:

    <username> ALL=(ALL:ALL) ALL

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

  4. 保存并退出编辑器:

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

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

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

pupu用户的提示符只有$,没有显示当前目录等信息,并且快捷键用不了,这可能是因为其默认的shell是sh而不是bash。sh不支持一些快捷键操作,如方向键等,因此需要将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. 重新创建用户的家目录

为pupu和ubuntu用户重新创建他们的家目录:

复制代码
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就行

相关推荐
讯捷蓝达2 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.3 小时前
ubuntu安装flink
linux·ubuntu·flink
数字新视界4 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落4 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨5 小时前
WSL2的安装与使用
linux·wsl
微小的鱼5 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng5 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮6 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹6 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_6 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes