Tyl*_*lly 2 users debian group useradd
我正在尝试将用户列表添加到 debian VM 上的不同组。我在 bash 脚本中使用以下命令序列:
getent group $uid || groupadd $uid #add group before adding user
useradd -s $shell -m -d $users_directory -g $uid $uname #add user with group id $uid
Run Code Online (Sandbox Code Playgroud)
但是运行它会打印出以下内容:
groupadd: group '5067' already exists
useradd: group '5067' does not exist
Run Code Online (Sandbox Code Playgroud)
查看我的组,cut-d: -f1 /etc/group我看到那里存在“5067”,但是当我运行时,groups我看到的只是“root”作为单独的组。
有小费吗?
groupadd使用数字组 ID调用将创建一个名为 的组5067。例如:
# groupadd 5067
# grep 5067 /etc/group
5067:x:1000:
Run Code Online (Sandbox Code Playgroud)
当您将数字标识符传递给 时useradd -g ...,它只查看组ID。因此,即使存在名为 的组5067:
# useradd -g 5067 testuser
useradd: group '5067' does not exist
Run Code Online (Sandbox Code Playgroud)
我怀疑这是你问题的根源。
运行时看不到新组groups是正常的。您添加了用户的任何新组在该用户登录之前都不会生效。如果用户已经登录,他们需要注销并重新登录(操作系统启动一个新的登录外壳)。这就是为什么您groups在/etc/group.
| 归档时间: |
|
| 查看次数: |
19601 次 |
| 最近记录: |