如何手动将新用户添加到嵌入式 Linux 系统?

And*_*aKo 2 users

我有一个专为 root 用户设计的系统,我想在它上面运行一个 FTP 服务器。我使用的软件通过使用与操作系统本身相同的用户名和密码来处理身份验证。对我来说,让另一个用户进行 FTP 数据传输和另一个只运行 FTP 服务器的用户看起来更安全。

所以这是我的问题:正如我所说,系统被设计为仅供 root 使用,并且没有 useradd 或任何类似的东西,据我所知。是否可以手动添加用户?

如果重要的话,我正在运行 OpenWRT Backfire 10.03.1-rc4,但最好是通用答案。

gee*_*aur 5

非常粗略:

# cp /etc/passwd /etc/passwd.bak # just in case you e.g. forget one of the >s
# echo 'ftpuser:x:1000:1000:ftp user:/home/ftpuser:/bin/sh' >>/etc/passwd
# cp /etc/shadow /etc/shadow.bak
# echo 'ftpuser:x:15020:0:99999:7:::' >>/etc/shadow
# cp /etc/group /etc/group.bak
# echo 'ftpuser:x:1000:' >>/etc/group
# cp /etc/gshadow /etc/gshadow.bak
# echo 'ftpuser:x:1000:' >>/etc/gshadow
# passwd ftpuser
# mkdir /home/ftpuser
# chown ftpuser:ftpuser /home/ftpuser
Run Code Online (Sandbox Code Playgroud)

您当然应该确保用户名、用户 ID 和组 ID 可用。此外,除非帐户出于某种原因需要外壳访问,否则将外壳设置为类似/bin/false/sbin/nologin(如果后者可用)。