You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu中使用xargs修改vtm用户密码失败,求解决方法

问题分析与解决

你的命令失败的核心原因是**xargs -n1的参数拆分逻辑完全不符合passwd的使用方式**:

  • printf "vtm abcd12345 abcd12345"输出的内容会被xargs按空格拆成3个独立参数,然后依次执行passwd vtm、passwd abcd12345、passwd abcd12345。
  • passwd默认是交互式工具,指定用户名后需要在终端手动输入两次密码,无法通过这种拆分参数的方式接收密码;后面两次调用passwd abcd12345更是错误的,因为abcd12345不是合法用户名。

正确的解决方案

方法1:用chpasswd(推荐,专门用于非交互式修改密码)

chpasswd接收用户名:密码格式的输入,是批量/非交互式修改密码的标准工具,命令如下:

echo "vtm:abcd12345" | sudo chpasswd

或者用printf:

printf "vtm:abcd12345\n" | sudo chpasswd

方法2:用passwd --stdin(部分Ubuntu版本支持)

如果一定要用passwd,可以通过--stdin选项让它从标准输入读取密码(需要输入两次密码,用换行分隔):

echo -e "abcd12345\nabcd12345" | sudo passwd --stdin vtm

注意:所有修改用户密码的操作都需要root权限,所以必须加上sudo(如果当前已是root用户可省略)。

内容的提问来源于stack exchange,提问作者Vitamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:25:46