当前位置: 首页 > news >正文

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

目录

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

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

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

方法2:直接编辑sudoers文件

修改用户的shell类型

编辑/etc/passwd文件

使配置生效

检查环境变量配置

总结

使用useradd命令创建用户

设置用户密码

添加到用户组

验证用户配置

恢复home家目录

修复步骤

1. 删除异常的home目录

2. 重新创建正常的home目录

3. 设置home目录的权限

4. 重新创建用户的家目录

5. 设置家目录的所有权和权限

6. 恢复默认的shell配置文件

7. 验证修复结果

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

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

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

后续操作

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

关键注意事项


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

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

sudo passwd root

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

su root

下载vim:

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 为你的实际用户名):

sudo chown -R pupu:pupu .git

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

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

如果仅需修复 COMMIT_EDITMSG 文件:

sudo chown pupu:pupu .git/COMMIT_EDITMSG

后续操作

  1. 重新提交代码

    git add .
    git commit -m "你的提交信息"
    git push

  2. 验证提交者信息

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

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


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

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

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

关键注意事项

  1. 避免使用 sudo 操作 Git

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

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

  2. 检查全局 Git 配置

    • 确保已正确配置全局邮箱和用户名:

    git config --global user.email "你的Gitee绑定邮箱"
    git config --global user.name "你的Gitee用户名"
  3. 强制推送的风险

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

ubuntu、vim编译器配置:

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

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"
3. 重启tmux
  • 如果还是无法解决,可以切换主题为onedark,并关闭termguicolors,设置
  • let g:onedark_termcolors=256

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


http://www.mrgr.cn/news/94190.html

相关文章:

  • 数据结构——单链表list
  • 关于sqlalchemy的ORM的使用
  • Spring Security的作用
  • 浏览器控制台的特殊执行方式,暂存变量的作用域 和 同步/异步行为解释
  • 13 | 实现统一的错误返回
  • C# 通过chrome插件将HTML网页转换为PDF
  • JVM内存结构笔记03-方法区
  • 18 | 实现简洁架构的 Handler 层
  • 系统开发资源
  • 51c自动驾驶~合集54
  • IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析
  • JVM内存结构笔记04-字符串常量池
  • 15 | 定义简洁架构 Store 层的数据类型
  • CMD批处理一些冷门命令,编写windows脚本常用?
  • 10 | 基于 Gin 实现 HTTP 服务器
  • vue 仿deepseek前端开发一个对话界面
  • 如何搭建一个适配微信小程序,h5,app的uni-app项目
  • Go Ebiten小游戏开发:俄罗斯方块
  • halcon机器人视觉(四)calibrate_hand_eye_stationary_3d_sensor
  • JAVA 基础语法备忘录 -