解决 Ubuntu 用户登录后的 shell 和功能问题

news2024/9/21 15:58:01

在使用 Ubuntu 系统管理用户时,可能会遇到一些常见的问题,比如新创建的用户无法使用常见命令(如 ll)以及输出信息没有颜色。这些问题通常与用户的默认 shell 有关。本文将总结如何解决这些问题,并确保新用户能够正常使用他们所需的功能。

问题描述

在 Ubuntu 系统中,当使用 useradd 命令创建新用户时,该用户默认会使用 /bin/sh 作为其登录 shell。这可能会导致以下问题:

  1. 缺少常用命令别名:例如,ll 命令通常是 ls -l 的别名,但在 /bin/sh 中可能不可用。
  2. 没有颜色输出/bin/sh 可能不支持颜色输出,使得文件和目录的显示信息没有颜色。
问题重现
1. 创建新用户

首先,使用 useradd 命令创建新用户,并指定用户主目录及其所属的用户组。例如:

sudo useradd -m test -g admin
passwd test

这条命令会创建一个名为 test 的新用户,并将其主目录创建在 /home/test 下,同时将用户添加到 admin 用户组中。

2. 检查当前用户的默认 shell

登录到新创建的用户,并运行以下命令查看当前的 shell:

echo $SHELL

通常情况下,新用户的默认 shell 可能会显示为 /bin/sh
在这里插入图片描述

3.无法使用常见命令

在这里插入图片描述

解决方案
1. 更改用户的默认 shell

要将用户的默认 shell 更改为 /bin/bash,使用以下命令:

sudo usermod -s /bin/bash test

-s 选项用于指定用户的登录 shell。执行此命令后,用户 test 的默认 shell 将被更改为 /bin/bash

2. 重新登录

为了使更改生效,退出当前会话并重新登录 test 用户。重新登录后,运行以下命令确认 shell 已经更改为 /bin/bash
在这里插入图片描述

echo $SHELL

确保输出显示 /bin/bash
在这里插入图片描述

5. 验证功能

重新登录后,检查 ll 和其他功能是否正常工作:

ll

ll 命令应该能够显示详细的目录列表,并且输出将包括颜色和格式化信息(如果 .bashrc 中设置了别名)。

6. 配置别名和颜色

确保 ~/.bashrc 文件中包含设置别名和颜色的配置。例如:

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
export LS_COLORS='...'

如果 .bashrc 中的更改没有生效,可以使用以下命令手动加载配置:

. ~/.bashrc
总结

在 Ubuntu 系统中,创建新用户后,默认的 /bin/sh shell 可能会导致一些功能无法正常使用。通过将用户的 shell 更改为 /bin/bash,可以解决这些问题,并恢复常用的命令和功能。遵循上述步骤,可以确保新用户的环境配置正确,并能够正常使用系统功能。
欢迎评论区讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【linux深入剖析】命名管道 | 匿名管道与命名管道的区别 | system V共享内存

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1. 命名管道2. 创建命名管…

STM32之九:ADC模数转换器

目录 1. 简介 2. ADC 2.1 逐次逼近型寄存器SAR 2.2 ADC转换时间 3 ADC框图 3.1 8 bit ADC0809芯片内部框图 3.2 ADC框图 3.2.1 注入通道和规则通道 3.2.2 单次/连续转换模式 3.2.3 扫描模式 3.2.4 外部触发转换 3.2.5 数据对齐 3.2.6 模拟看门狗 4. 总结和ADC驱…

mac无法清空废纸篓怎么办 mac废纸篓清空了如何找回 cleanmymac误删文件怎么恢复

废纸篓相当于“一颗后悔药”,用于临时存储用户删除的文件。我们从从Mac上删除的文件,一般会进入废纸篓中。如果我们后悔了,可以从废纸篓中找回来。然而,有时我们会发现mac无法清空废纸篓,这是怎么回事?本文将探讨一些…

Unity-URP-SSAO记录

勾选After Opacity Unity-URP管线,本来又一个“bug”, 网上查不到很多关于ssao的资料 以为会不会又是一个极度少人用的东西 而且几乎都是要第三方替代 也完全没有SSAO大概的消耗是多少,完全是黑盒(因为用的人少,研究的人少,优…

JMeter学习笔记:线程组

继续:请求(Sampler元件模拟的用户请求)出错后继续运行; 启动下一进程:如果出错,则同一脚本中的余下请求将不再执行,直接重新开始执行; 停止线程:如果遇到请求&#xff…

51单片机嵌入式开发:14、STC89C52RC 之HX1838红外解码NEC+数码管+串口打印+LED显示

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 STC89C52RC 之HX1838红外解码NEC数码管串口打印LED显示 STC89C52RC 之HX1838红外解码NEC数码管串口打印LED显示1 概述2 硬件电路2.1 遥控器2.2 红外接收器电路2.3 STC89C52单…

深入理解Linux网络(三):TCP对象创建

深入理解Linux网络(三):TCP对象创建 TCP对象创建inet_createsock_init_data TCP对象创建 常见的三句TCP编程: int main() {int sk socket(AF_INET, SOCK_STREAM, 0);connect(sk, ...)recv(sk, ...) }简单的两三⾏代码&#xff…

逆向案例二十八——某高考志愿网异步请求头参数加密,以及webpack

网址:aHR0cDovL3d3dy54aW5nYW9rYW90Yi5jb20vY29sbGVnZXMvc2VhcmNo 抓包分析,发现请求头有参数u-sign是加密的,载荷没有进行加密,直接跟栈分析。 进入第二个栈,打上断点,分析有没有加密位置。 可以看到参数…

【PyTorch】图像二分类项目-部署

【PyTorch】图像二分类项目 【PyTorch】图像二分类项目-部署 在独立于训练脚本的新脚本中部署用于推理的模型,需要构造一个模型类的对象,并将权重加载到模型中。操作流程为:定义模型--加载权重--在验证和测试数据集上部署模型。 import torch…

Windows11 安装Docker,安装至D盘(其他非C盘皆可)

Docker默认安装在C盘,这未来随着docker使用必定会导致C盘空间吃紧。 所以本文提前进行空间布局,将docker默认安装路径软链接到D盘。 软链接D盘 Docker默认安装路径为C:\Program Files\Docker。使用管理员权限打开命令终端 输入以下命令:m…

【LeetCode】day14:226 - 翻转二叉树, 101 - 对称二叉树, 104 - 二叉树的最大深度, 111 - 二叉树的最小深度

LeetCode 代码随想录跟练 Day14 226.翻转二叉树101.对称二叉树104.二叉树的最大深度111.二叉树的最小深度 226.翻转二叉树 题目描述: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 使用递归处理(迭代以及层序同…

jdk1.8 List集合Stream流式处理

jdk1.8 List集合Stream流式处理 一、介绍(为什么需要流Stream,能解决什么问题?)1.1 什么是 Stream?1.2 常见的创建Stream方法1.3 常见的中间操作1.4 常见的终端操作 二、创建流Stream2.1 Collection的.stream()方法2.2 数组创建流2.3 静态工厂…

单链表的创建与遍历--C

基本结构声明 struct node{int data; //数据域struct node *next;//指针域 }; #include<stdio.h> #include<stdlib.h>struct node{//链表结点 int data;//数据域 struct node *next;//指针域 }; typedef struct node Node; int main(void){Node *head,*p,*…

【高数复盘】武忠祥高数辅导讲义+严选题错题一轮复盘

第一章 函数、极限和连续 高等数学辅导讲义 1. 复盘&#xff1a;(xsinxcosx)(x-sixcosx)&#xff0c;前者可以带入cosx1&#xff0c;而后者不能带入&#xff0c;为何&#xff1f; 2. 复盘&#xff1a; 这道题很明显an≤1&#xff0c;对于直接求极限&#xff0c;可以考虑夹逼…

华为防火墙总部与分支机构建立IPsec VPN涉及NAT穿越

一、IPsec VPN基本概念 1、隧道建立方式&#xff1a;分为手动建立和IKE自动协商&#xff0c;手动建立需要人为配置指定所有IPsec建立的所有参数信息&#xff0c;不支持为动态地址的发起方&#xff0c;实际网络中很少应用&#xff1b;IKE协议是基于密钥管理协议ISAKMP框架设计而…

linux系统设置开机启动的两种方法systemd及rc.local(手工写sh脚本,手工写service服务)

文章目录 知识点实验一、systemd&#xff08;一&#xff09;自写一个sh脚本并加入开机启动&#xff08;二&#xff09;源码安装的nginx加入开机启动 rc.local 知识点 在Linux系统中&#xff0c;有多种方法可以设置开机启动。以下是其中的一些主要方法&#xff1a; systemd 在较…

本地部署 mistralai/Mistral-Nemo-Instruct-2407

本地部署 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟环境2. 安装 fschat3. 安装 transformers4. 安装 flash-attn5. 安装 pytorch6. 启动 controller7. 启动 mistralai/Mistral-Nemo-Instruct-24078. 启动 api9. 访问 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟…

[图解]《分析模式》漫谈16-“我用的”不能变成“我的”

1 00:00:00,720 --> 00:00:02,160 今天&#xff0c;我们来说一下 2 00:00:02,170 --> 00:00:04,850 “我用的”不能变成“我的” 3 00:00:04,860 --> 00:00:11,390 《分析模式》的前言 4 00:00:12,260 --> 00:00:13,410 有这么一句话 5 00:00:14,840 --> 0…

postman接口测试实战篇

击杀小游戏接口测试 接口测试简单介绍击杀小游戏代码下载单接口测试(postman)接口关联并参数化接口测试简单介绍 首先思考两个问题:1.接口是什么?2.接口测试是什么? 1.我们总是把接口想的很复杂,其实呢,它就是一个有特定输入和输出参数的交互逻辑处理单元,它不需要知…

学并发编程前需要明确的一些基础知识

线程和进程的区别 在计算机科学中&#xff0c;线程和进程是两个非常重要的概念。虽然它们常常被一起提到&#xff0c;但它们实际上有很大的不同。作为一个开发者&#xff0c;我在日常工作中经常需要区分这两者&#xff0c;以便更好地进行资源管理和优化。 进程与线程的基本定…