AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[users](ubuntu)

Martin Hope
ruffsl
Asked: 2024-05-14 05:05:07 +0800 CST

Ubuntu 24.04 docker 镜像现在包含 UID/GID 1000 的用户 ubuntu?

  • 12

看起来 Ubuntu 24.04 的官方 docker 镜像附带了一个名为 的用户ubuntu。虽然用户名在很大程度上是无关紧要的,1000但考虑到与 22.04 相比,该默认用户的 UID/GID 的选择有点破坏性。例如:

--- jammy
+++ noble
@@ -1,4 +1,4 @@
-$ docker run -it --rm ubuntu:22.04 cat /etc/passwd
+$ docker run -it --rm ubuntu:24.04 cat /etc/passwd
 root:x:0:0:root:/root:/bin/bash
 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
 bin:x:2:2:bin:/bin:/usr/sbin/nologin
@@ -15,6 +15,6 @@
 backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
 list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
 irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
-gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
+_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
 nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
-_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
+ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash

例如,我知道很多与 docker 相关的工具,例如 CLI devcontainer,尝试自动重新映射容器用户的 UID/GID 以匹配主机用户的 UID/GID,从而简化通过容器和主机共享文件时绑定挂载的权限卷。但是,大多数开发人员已经将其用户帐户设置为 UID/GUI 1000,因为这是创建初始主机帐户时的默认设置。因此,这些工具可能会奇怪地无法在容器启动期间正确重新映射 UID/GID,当工具在没有更改任何 docker 容器运行参数的情况下重新启动时,开发人员会感到困惑。

dever目前,我为任何工具创建一个伪帐户,以通过配置文件中的devcontainer参数锁定并重新映射 UID/GID 。"remoteUser": "dever",devcontainer.json

FROM base as dever

# add default user for devcontainer
RUN useradd \
      --create-home \
      --gid root \
      --groups sudo \
      --no-log-init \
      --shell /bin/bash \
      --system \
      dever && \
    echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

考虑到现在只有一些 ubuntu 镜像附带了一个ubuntu占据 UID/GID 的用户1000,那么在创建一个不可知的 Dockerfile 来在启动时重新映射任何普通用户 UID/GID 时,其他人会推荐哪些替代方法?我现在必须始终只检查现有的 UID 才能1000在 ubuntu 基础映像版本中通用吗?

users
  • 1 个回答
  • 431 Views
Martin Hope
Manuel Jordan
Asked: 2024-04-15 07:46:26 +0800 CST

为什么 /etc/passwd 中的 GECOS 列代表 4 个空字段,而不是根据 adduser 命令的 5 个空字段?

  • 5

只是对以下情况感到好奇

当adduser命令执行时如下:

sudo adduser optimusprime
Adding user `optimusprime' ...
Adding new group `optimusprime' (1015) ...
Adding new user `optimusprime' (1013) with group `optimusprime' ...
Creating home directory `/home/optimusprime' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for optimusprime
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n]

请注意,有 5 个可选字段可用于写入数据。如果执行命令时默认将其保留为空cat /etc/passwd,则该用户的记录将显示如下:

optimusprime:x:1013:1015:,,,:/home/optimusprime:/bin/bash

观察,,,GECOS 部分。它表示 4 个字段 asA,B,C,D而不是 5 个字段 as A,B,C,D,E。为什么它们之间存在这种差异或不匹配?说实话我预料到了

optimusprime:x:1013:1015:,,,,:/home/optimusprime:/bin/bash

adduser它也代表可通过该命令使用的 5 个字段。

如果使用命令usermod如下:

sudo usermod -c "A,B,C,D,E" optimusprime

用户显示为:

optimusprime:x:1013:1015:A,B,C,D,E:/home/optimusprime:/bin/bash

我知道甚至可以通过usermod命令添加更多字段,如下所示:

sudo usermod -c "A,B,C,D,E,F" optimusprime
sudo usermod -c "A,B,C,D,E,F,G" optimusprime

因此这些命令的执行分别体现如下

optimusprime:x:1013:1015:A,B,C,D,E,F:/home/optimusprime:/bin/bash
optimusprime:x:1013:1015:A,B,C,D,E,F,G:/home/optimusprime:/bin/bash

乍一看并不清楚 GECOS 至少是基于 4 个字段还是 5 个字段。

users
  • 1 个回答
  • 28 Views
Martin Hope
Teodor Varbanov
Asked: 2024-04-10 05:07:31 +0800 CST

无法删除已删除用户的主文件夹

  • 5

userdel我错误地删除了没有该选项的用户-r,现在我无法删除其主文件夹。我以 root 身份登录,并且拥有su权限,但是在尝试时chmod,sudo rm -rfv /path/to/directory_to_delete我收到“权限被拒绝”。我正在 Proxmox 的容器内运行 Ubuntu 22.04.1 LTS。

我几乎尝试了所有我能找到的方法,但没有一个解决方案对我有用。有什么建议吗?

whoami、groups和的输出stat /home:

root@plex:~# whoami
root
root@plex:~# groups
root
root@plex:/# stat /home
File: /home
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fc07h/64519d Inode: 527236 Links: 4
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-04-09 20:11:52.770861904 +0000
Modify: 2023-02-11 11:20:26.990740365 +0000
Change: 2023-02-25 18:03:44.549062613 +0000
Birth: 2023-02-25 18:03:44.549062613 +0000

输出rm -rf /home/birarid

rm: cannot remove '/home/birarid': Permission denied

输出stat /home/birarid

 File: /home/birarid
 Size: 4096            Blocks: 8          IO Block: 4096        directory
 Device: fc07h/64519d    Inode: 527237      Links: 2
 Access: (0750/drwxr-x---)  Uid: (65534/  nobody)   Gid: (65534/ nogroup)
 Access: 2023-02-25 18:03:44.549062613 +0000
 Modify: 2023-02-11 11:20:26.053923205 +0000
 Change: 2023-02-25 18:03:44.549062613 +0000
 Birth: 2023-02-25 18:03:44.549062613 +0000
users
  • 1 个回答
  • 75 Views
Martin Hope
YoloWex
Asked: 2022-01-10 11:56:16 +0800 CST

为什么“watch”命令对别名不起作用?

  • 12

因此,我制作了自定义别名命令并尝试将其与 一起使用,但在与命令alias连接时无法识别我的别名。watch

所以我试着把它写成一条线,幸运的是,这条线帮助了我。

但这是什么原因呢?

我在.bashrc其中创建了一个别名,效果很好。

alias gpu='sensors nouveau-pci-0100'
alias cpu='sensors coretemp-isa-0000'

当我连接watch并gpu像这样:

watch GPU

我每 2 秒得到一次:

sh: 1: gpu: not found

我解决了上面提到的线程,如下所示:

alias = watchh='watch '
watchh gpu

但是为什么会这样呢?为什么它不能使用我确定定义的别名命令?

我的猜测是与用户有关,因为我已经 root 过一次并且无法使用我的别名,但我肯定需要专家来回答这个问题。

users
  • 2 个回答
  • 1263 Views
Martin Hope
Manuel Jordan
Asked: 2021-11-06 18:10:51 +0800 CST

/etc/group:为什么用户名没有出现在自己的主组中?

  • 0

根据/etc/group文件中的许多教程列出了所有组。

通过cat /etc/group | grep omicron命令(omicron是 Linux 安装中创建的默认自定义用户)出现:

adm:x:4:syslog,omicron
cdrom:x:24:omicron
sudo:x:27:omicron
dip:x:30:omicron
plugdev:x:46:omicron
lpadmin:x:120:omicron
lxd:x:132:omicron
omicron:x:1000:
sambashare:x:133:omicron

根据输出我可以理解每一行代表:

  • 组名
  • X代表有关密码或某些保护的内容
  • 这gid是组的id
  • 最后将哪些用户分配给该组。

我不清楚的是:

  • 为什么出现omicron:x:1000:而不出现omicron:x:1000:omicron?

omicron用户也有其omicron主要组

users
  • 1 个回答
  • 615 Views
Martin Hope
Anthony Nash
Asked: 2021-10-27 03:44:52 +0800 CST

如何监控用户的 CPU 和 GPU 使用情况?

  • 0

我有几个用户(根据 /etc/passwd 的用户帐户)通过 SSH 连接到我管理的 Ubuntu 机器上。这是我的系统信息:

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

硬件是带有 x2 NVidia GTX 970 GPU 卡的双插槽 Intel Xeon E3(总共 16 个内核)。机器内部硬盘空间大约有 6 TB。

每个用户都可以使用 tmux 执行一个在他们注销后仍然存在的进程。请注意,我没有像 SLURM 这样的工作经理这样复杂的东西。我远非如此,所以请不要建议。

任何人都可以推荐软件来监控用户的 CPU 和 GPU 使用情况并在给定的时间段内报告例如 1000 CPU/GPU 小时等?该软件必须能够记录用户、CPU和 GPU,如果可能的话,还可以记录执行的进程/软件。

users
  • 1 个回答
  • 351 Views
Martin Hope
Manuel Jordan
Asked: 2021-09-28 05:23:24 +0800 CST

当 gpasswd 与 usermod/deluser 对比时?

  • 1

关于我在许多教程中发现的用户和组管理:

  • gpasswd- 添加和删除用户到组
  • usermod/ deluser- 添加、修改和删除组的用户

不太清楚的是 - 何时gpasswd强制执行usermod/deluser反之亦然?

users
  • 3 个回答
  • 1068 Views
Martin Hope
Manuel Jordan
Asked: 2021-09-12 20:37:23 +0800 CST

查看和编辑用户信息的命令是什么?使用 adduser 之后 [重复]

  • 0
这个问题在这里已经有了答案:
您可以使用 chfn 修改用户数据(例如电话、房间),但您如何仅显示该组织数据? (1 个回答)
12 个月前关闭。

我阅读了这些教程:

  • 如何在 Ubuntu Linux 上创建用户帐户
  • 如何在 Ubuntu 18.04 上添加和删除用户

使用时adduser命令出现在进程中:

Changing the user information for username
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] 

由于显而易见的原因,可能会留空或写入过时的数据,所以,这篇文章的原因:

  • 查看和编辑用户信息的命令是什么?

关于“ see ”方法应该再次显示相同的结构

    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 

当然,根据创建的数据或最新的数据更新显示数据,以了解正确与否。

users
  • 1 个回答
  • 126 Views
Martin Hope
Manuel Jordan
Asked: 2021-09-10 10:35:03 +0800 CST

放置用户之间共享的开发软件的最合适的目录是什么?

  • 4

为了在同一台机器内的用户之间共享数据/srv文件和目录,这里推荐目录:

  • 放置用户之间共享文件的最合适的目录是什么?

我假设这仍然有效或推荐 - 如果发生变化,请纠正我。

但是,Java、Maven、Gradle 等共享开发相关软件的目录应该是什么?它们都将通过解.tar.gz压缩档案来安装。程序的中心位置将优于每个用户在其各自的主目录中重复安装。

例如,为了使用像 Jenkins 这样的 CI,我会安装许多 JDK 版本:11、15 和 17,对于 Gradle 和 Maven 也是如此。这些用于测试具有不同环境的项目。只需解压缩文件并使用它们的相应设置.tar.gz更新文件即可安装提到的软件包。.profile是的,我也使用这些存储库来安装服务器,例如 MySQL、RabbitMQ 等...

users
  • 2 个回答
  • 1397 Views
Martin Hope
J-D3V
Asked: 2021-08-27 10:56:34 +0800 CST

在 WSL 上为 Ubuntu 创建新的顶级管理员用户

  • 0

将标准 Ubuntu 换成带有“WSL Ubuntu”的 win-10

然而,5 年来,我使用 GUI 桌面引导到 Ubuntu Distros;今年,我的教授强迫我在我的机器上添加 Windows。过去我会双启动这两者,但是,我相信你们中的大多数人可能已经知道,有几个 Linux 发行版可供在“Windows 10”环境中工作的开发人员使用”,因此,我决定设置 WSL 而不是双引导。

我的机器操作系统的状态

因此,我正在设置 WSL,并在遇到问题时参考此处的文档Official Ubuntu page on WSL 。无论出于何种原因,我都无法登录 Ubuntu,但是 WSL 和 Ubuntu 似乎工作正常,所以我只是使用了世界上最著名的 Linux 工作,并以 root 身份登录(这需要我将默认用户设置为 root) . 问题是,我无法返回输入用户名和密码的初始提示,据我了解,这是如何为虚拟 WSL Ubuntu 实例正确创建新用户。

手头问题的深入解释

我从来没有这样做过,所以我不知道在 Windows-10 子系统中运行的“Ubuntu 操作系统”上正确的默认 sudo/admin 帐户应该是什么样子。我有必要得到提示,还是我可以自己设置一个新用户?如果我自己设置了一个新用户,那么为 Ubuntu 的 WSL 实例配置顶级管理员帐户(又名 Sudo 帐户)的正确方法是什么。

关于配置我不太清楚的事情包括:

  1. 该帐户是否应该是系统帐户,是否应该使用 ubuntu 分配的任意名称?
  2. 该帐户应该有一个主目录吗?
  3. sudo-groupadmin:sudo是唯一需要添加顶级安全级别管理员帐户(又名 Sudo 帐户)的组,我是否应该创建另一个与我正在创建的管理员帐户同名的组?
users
  • 1 个回答
  • 2228 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve