如何获取可以通过 ssh 连接到服务器的所有用户的列表ssh username@server.domain
?
请注意,我知道这个问题,这不是我想要的!
如果它有助于服务器在如此多的不同组中有如此多的用户,并且在主目录下有一些组目录和这些组目录中的许多用户目录。
编辑:
请注意,我得到的结果/etc/passwd
不是我想要的,如下所示:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
shelladmin:x:1000:1000:shelladmin,,,:/home/shelladmin:/bin/bash
messagebus:x:104:106::/var/run/dbus:/bin/false
festival:x:105:29::/home/festival:/bin/false
ntp:x:106:108::/home/ntp:/bin/false
Run Code Online (Sandbox Code Playgroud)
这个列表甚至不包括我自己的用户名!更不用说其他 1000 名用户了。
编辑 2:
所以我和 Yaron 聊了几句,这里有一些关于系统的更多信息:
-bash-4.2$ ls -lsa /etc/init.d/nis
ls: cannot access /etc/init.d/nis: No such file or directory
-bash-4.2$ ls -lsa /var/yp
ls: cannot access /var/yp: No such file or directory
if …
Run Code Online (Sandbox Code Playgroud) 我尝试echo $GID
但一无所获。但是,我可以通过使用获得 1000 id -g
,它们之间有什么区别?
id -u => 1000
id -g => 1000
echo $UID => 1000
echo $GID =>
Run Code Online (Sandbox Code Playgroud)
的输出id
:
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(docker)
Run Code Online (Sandbox Code Playgroud)
的输出groups
:
user adm cdrom sudo dip plugdev lpadmin sambashare docker
Run Code Online (Sandbox Code Playgroud)
Ubuntu 版本:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
Run Code Online (Sandbox Code Playgroud) 我最近更改了我的 linux 帐户的 uid(此更改的原因在于需要有一个精确的 uid 来访问挂载驱动器上的文件)。从那以后,我无法访问我的 crontab。键入后:
crontab -e
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
crontabs/my_login/: fopen: Permission denied
Run Code Online (Sandbox Code Playgroud)
我调查了与文件 /usr/bin/crontab 相关的权限,它是:
-rwxr-xr-x 1 root my_login 35984 Feb 9 2013
Run Code Online (Sandbox Code Playgroud)
但是,如果我查看 my_login 的 id,我会得到:
uid=11375(my_login) gid=1000(my_login) groups=1000(my_login),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),110(sambashare)
Run Code Online (Sandbox Code Playgroud)
我可以看到 gid 似乎有问题,但我不知道从这一点上该怎么做......
我正在安装目录。我将所需的行写入了。/etc/fstab
我正在使用cifs
协议。
我想知道参数uid
和gid
的作用是什么,因为它们对于任何用户来说都是相似的。(所以这不能是任何用户 ID。)
我遇到了更多的问题,我无法通过更改 UID 来计算。我很沮丧,我只是要格式化并重新开始。这一次,我希望我的安装让第一个用户使用,假设 UID 1200。我不想安装 Ubuntu,然后通过更改我的 UID 来创建所有问题。我不知道如何解决所有这些问题,这就是我格式化的原因。我当然不会再在 Ubuntu 上犯那个错误了。我只想使用特定的 UID 安装 Ubuntu。我该怎么做?