我正在使用 debian 10,我想创建一个没有主目录的用户。用户应该只能访问他或她的组拥有的目录。也就是说,用户只能访问他或她的组目录。这是我的命令信息:
useradd -g mygroup-G mygroup1,mygroup2 -s /bin/bash -M username
但是,当我通过 putty 登录系统并执行 ls 命令时,我会看到主文件夹,并且可以cd
进入其中。
我不明白为什么这是可能的,因为-M
应该阻止创建主文件夹。
答案1
不确定您使用的是什么系统。我在 CentOS-7 上测试了这个并按预期工作正常
[root@localhost ~]# useradd -M bruce
[root@localhost ~]# grep bruce /etc/passwd
bruce:x:1002:1004::/home/bruce:/bin/bash
[root@localhost ~]# su - bruce
su: warning: cannot change directory to /home/bruce: No such file or directory
-bash-4.2$ pwd
/root
-bash-4.2$ exit
logout
[root@localhost ~]# passwd bruce
Changing password for user bruce.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# ssh bruce@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:O9p/h/nXgzhoxJragsnRHhqv/r0er1OCvIyML5X3/+4.
ECDSA key fingerprint is MD5:58:0e:65:19:0f:d9:78:8b:2d:a1:00:11:3a:c2:0b:c9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
bruce@localhost's password:
Last login: Fri Feb 19 22:00:56 2021
Could not chdir to home directory /home/bruce: No such file or directory
-bash-4.2$ pwd
/
-bash-4.2$
答案2
我在 Debian Bullseye 上进行了测试,没有出现任何问题。有错别字吗?在你的命令中:应该是
useradd -g mygroup -G mygroup1,mygroup2 -s /bin/bash -M username
“-G”之前缺少一个空格,组名称之间的空格过多。可能会痛吗?
man useradd
说
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 用户也是其成员的补充组列表。每个组与下一个组之间用逗号分隔,中间没有空格。这些组受到与 -g 选项指定的组相同的限制。默认情况下,用户仅属于初始组。
问候