Ubuntu Server 22.04 在上Linux课时遇到以下问题:
第一课:用户管理:
sudo useradd -m kaylee
sudo passwd kaylee
su - kaylee
已退出用户 kaylee,并开始下一课(编译源代码):
104 ll
105 wget https://ftp.gnu.org/gnu/hello/hello-2.5.tar.gz
106 ll
107 sudo mkdir /usr/share/hello
108 sudo cp hello-2.5.tar.gz /usr/share/hello/
109 cd /usr/share/hello/
110 ll
111 tar -xzvf hello-2.5.tar.gz
112 sudo tar -xzvf hello-2.5.tar.gz
113 ll
问题:提取的文件属于用户 kaylee:
total 576
drwxrwxrwx 10 kaylee root 4096 Feb 7 2010 hello-2.5/
-rw-r--r-- 1 root root 582535 Apr 15 15:09 hello-2.5.tar.gz
当我以自己的用户“jfenner”身份运行 sudo 时,为什么 sudo tar 命令会将用户 kaylee 应用于提取的文件???
答案1
解决了:
最初,我创建了一个名为 kaylee 的新用户,UID 为 1001
我从 gnu.org 下载了 tarball,其中包含用户 UID 1001 拥有的嵌入文件:
jfenner@ubuntu:~/pkg$ tar -tzvf hello-2.5.tar.gz
drwxrwxrwx 1001/0 0 2010-02-07 17:15 hello-2.5/
-rw-r--r-- 1001/0 587 2006-11-09 19:53 hello-2.5/AUTHORS
在从 tar 中提取过程中,tar 保留了 UID 1001 的文件所有者。然后系统正确地将 UID 1001 与登录名 kaylee 关联起来。