Linux基础知识之用户和用户组以及 Linux 权限管理(3)

  说了那么多,终于来点真格的了,Linux 中使用 useradd 命令添加一个用户。这个命令很简单,简单到只使用 useradd USERNAME 就可以添加一个用户。

  我们新建一个用户 MIKE,然后查看 /etc/passwd 中的对应内容:

  

  在 /etc/passwd 的最后一行,我们看到了刚刚添加的用户,并且系统自动设置了用户的一些属性,比如UID,GID,HOME DIR等。我们也可以手动指定新增用户的信息:

useradd -u UID:指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

useradd -g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

useradd -G GROUPS:指定额外组

useradd -c COMMENT:指定用户的注释信息

useradd -d PATH:指定用户的家目录

useradd -s SHELL:指定用户的默认 shell,最好是在 /etc/shells 中存在的路径

useradd -s /sbin/nologin:该用户不能登录,还记得我们上面说到的系统用户不能登录吧?我们可以看到系统用户的 shell 字段也是 /sbin/nologin

echo $SHELL :查看当前用户的 shell 类型

useradd -M USERNAME:创建用户但不创建家目录

useradd -mk USERNAME:创建用户的同时创建家目录,并复制 /etc/skel 中的内容到家目录中。关于 /etc/skel 目录会在下一篇 Linux 权限管理中再次讲解。

如果用户没有家目录,那么不能切换到该用户

  6.userdel 命令:删除用户

userdel USERNAME:删除用户

userdel -r USERNAME:删除用户的同时删除用户家目录

  7.id 命令:显示账号属性信息

id -g USERNAME:显示默认组ID

id -G USERNAME:显示附加组ID

id -u USERNAME:显示UID

id -n -g/-G/-U:显示默认组/附加组/用户的名称

  8.finger 命令:检索用户信息,比使用 id 命令更加友好   9.usermod 命令:修改用户信息

基本用法和 useradd 相似,这里列出需要注意的点

usermod -G GROUPS USERNAME:改变用户的附加组,会完全替换原有的附加组

usermod -G -a GROUPS USERNAME:在原有附加组的基础上追加附加组

usermod -d PATH USERNAME:修改家目录。修改后原先家目录中的文件不能访问了,因为在当前的家目录中并不存在这些文件。

usermod -l NEWNAME USERNAME:改变用户名

usermod -e USERNAME:指定该用户的过期时间

usermod -L USERNAME:锁定用户

usermod -U USERNAME:解锁用户

  10.快捷命令

chsh SHELL USERNAME:改变默认 shell

chfn USERNAME:修改注释信息,用来增加用户的详细信息,如公司,地址等。可以由 finger 查看相应的改变。

  11.passwd

passwd --stdio:标准输入读取密码passwd -l:锁定用户账号(root only)

echo "newpassword" | passwd --stdio MIKE

passwd -u:解锁用户账号(root only)

passwd -d:删除用户密码。用户密码删除后不能登录。

  12.pwch(password check):检查密码文件的完整性,可获取一些警告信息   13.groupadd 命令:添加组

groupadd -g GID GROUPNAME:指定GID

groupadd -r GROUPNAME:添加一个系统用户组(-r 也适用于 useradd)

groupadd -r apache

  13.groupmod 命令:修改组

groupmod -g NEWGID GROUPNAME:修改GID

groupmod -n NEWGROUPNAME GROUPNAME:修改组名

  14.groupdel 命令:删除组

groupdel GROUPNAME

  15.gpasswd 命令:给组加密码

gpasswd GROUPNAME

  16.newgrp :临时指定基本组,下文介绍。   17.给组添加密码的作用

  为什么需要给组添加密码呢?不妨先说一下用户的基本组,好像到现在我们还没有讲基本组的情况吧,嘿嘿。基本组很简单,Linux 规定每个用户都需要在某一个组中,因此在创建用户的时候,我们可以指定用户的基本组(默认组):useradd -g GROUPNAME USERNAME。如果我们不手动指定用户的基本组,系统会默认创建一个和当前用户名一致的组,然后将这个组设置为用户的基本组。基本组的 GID 默认和用户 UID 一致(如果不被占用的话)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14858.html