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

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

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

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

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

答案1

非常粗略地:

# 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

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

相关内容