列出所有用户的命令? 以及如何添加,删除,修改用户?
我需要一个命令来列出终端中的所有用户。 以及如何从终端添加,删除,修改用户。
这有助于终端轻松管理您的帐户。
要列出您可以使用的所有本地用户:
cut -d: -f1 /etc/passwd
要列出所有能够进行身份validation的用户(以某种方式),包括非本地用户,请参阅此回复: https : //askubuntu.com/a/414561/571941
一些更有用的用户管理命令(也仅限于本地用户):
要添加新用户,您可以使用:
sudo adduser new_username
要么:
sudo useradd new_username
另请参阅: adduser和useradd之间有什么区别?
要删除/删除用户,首先您可以使用:
sudo userdel username
然后,您可能希望删除已删除用户帐户的主目录:
sudo rm -r / home / username
(请谨慎使用上述命令!)
要修改用户的用户名:
usermod -l new_username old_username
要更改用户的密码:
sudo passwd username
要为用户更改shell:
sudo chsh username
要更改用户的详细信息(例如,真实姓名):
sudo chfn username
当然,还可以参见: man adduser
, man useradd
, man userdel
…等等。
只需按键盘上的Ctrl + Alt + T即可打开终端。 打开时,运行以下命令:
cat /etc/passwd
要么
less /etc/passwd more /etc/passwd
你也可以使用awk: awk
awk -F':' '{ print $1}' /etc/passwd
获取此类信息的最简单方法是getent
– 请参阅getent
命令的联机帮助页 。 虽然该命令提供与cat /etc/passwd
相同的输出,但记住它会很有用,因为它会为您提供操作系统中几个元素的列表。
获取您键入的所有用户的列表(因为用户在/etc/passwd
中列出)
getent passwd
要将用户newuser添加到要键入的系统
sudo adduser newuser
创建应用了所有默认设置的用户。
额外奖励:将任何用户(例如任何用户)添加到组(例如cdrom )类型
sudo adduser anyuser cdrom
您使用删除用户(例如过时 )
sudo deluser obsolete
如果你想删除他的主目录/邮件,你输入
sudo deluser --remove-home obsolete
和
sudo deluser --remove-all-files obsolete
将删除整个系统上该用户拥有的用户和所有文件。
您也可以使用内置的compgen
:
compgen -u
将列出所有用户。
在大多数正常情况下 ,这应该是所有普通(非系统,非奇怪等)用户:
awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd
这适用于:
- 从
/etc/passwd
读入 - 使用
:
作为分隔符 - 如果第三个字段(用户ID号)大于1000而不是65534,则打印第一个字段(用户的用户名)。
这是因为在许多Linux系统上,1000以上的用户名是为非特权用户(可以说是普通用户)保留的。 这里有一些信息:
用户ID(UID)是由类Unix操作系统分配给每个用户的唯一正整数。 通过其UID向系统标识每个用户,并且用户名通常仅用作人的接口。
UID与其对应的用户名和其他用户特定信息一起存储在/ etc / passwd文件中……
第三个字段包含UID,第四个字段包含组ID(GID),默认情况下,它等于所有普通用户的UID。
在Linux内核2.4及更高版本中,UID是无符号的32位整数,可以表示从0到4,294,967,296的值。 但是,建议使用最多65,534的值,以保持与使用旧内核或只能容纳16位UID的文件系统的系统的兼容性。
UID为0具有特殊作用:它始终是root帐户(即无所不能的管理用户)。 虽然可以在此帐户上更改用户名,并且可以使用相同的UID创建其他帐户,但从安全角度来看,这两种操作都不是明智之举。
UID 65534通常为没有系统权限的用户保留,而不是普通用户(即非特权用户)。 该UID通常用于通过FTP(文件传输协议)或HTTP(超文本传输协议)远程访问系统的个人。
UID 1到99传统上是为特殊系统用户(有时称为伪用户)保留的,例如wheel,daemon,lp,operator,news,mail等。这些用户是不需要总root权限但执行权限的管理员一些管理任务因此需要比普通用户更多的特权。
一些Linux发行版(即版本)在100处为非特权用户开始UID。其他如Red Hat,在500开始它们,还有其他如Debian,在1000开始它们。由于发行版之间的差异,手册如果在组织中的网络中使用多个分发,则可能需要干预。
此外,为本地用户保留UID块(例如1000到9999)和远程用户(即网络上其他用户)的另一个块(例如10000到65534)可以很方便。重要的是要决定一个计划并坚持下去。
为特定类型的用户保留数字块的这种做法的优点之一是,它使得在系统日志中搜索可疑用户活动更加方便。
与流行的看法相反,UID字段中的每个条目都不必是唯一的。 但是,非唯一UID可能会导致安全问题,因此UID应该在整个组织中保持唯一。 同样,应尽可能避免从以前用户回收UID。
可以登录的所有用户的列表 (没有系统用户:bin,deamon,mail,sys等)
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
添加新用户
sudo adduser new_username
要么
sudo useradd new_username
删除 /删除用户名
sudo userdel username
如果要删除主目录(默认目录/ home / username)
sudo deluser --remove-home username
要么
sudo rm -r /path/to/user_home_dir
如果要从该用户删除系统中的所有文件(不仅是主目录)
sudo deluser --remove-all-files
好的,这是一个技巧,可以帮助您排序。 如果您键入user并且按Tab键两次,终端将自动完成,它将列出用户作为前4个字符存在的所有命令。
user (tab tab)
给我作为可能的选项useradd userdel usermod users users-admin
如果你想了解更多关于命令谷歌它或类型man man useradd给useradd – 创建一个新用户或更新默认的新用户信息……
列出用户你应该去Mitch说。
希望这有助于我喜欢用bash完成标签,这使我无法记住事情。
要查找计算机上/ home-folder中具有主目录的用户,请运行以下命令
cd /home ls
然后,您可以看到有权登录服务器的用户。 如果我们要查看任何用户的文件,您必须是root用户。