加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux中用户组相关命令有哪些,怎么使用

发布时间:2023-09-11 13:34:45 所属栏目:Linux 来源:转载
导读:   跟大家讲解下有关“Linux中用户组相关命令有哪些,怎么应用”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

  
  跟大家讲解下有关“Linux中用户组相关命令有哪些,怎么应用”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。
  1.useradd 命令:添加用户
 
  Linux 中使用 useradd 命令添加一个用户。这个命令很简单,简单到只使用 useradd USERNAME 就可以添加一个用户。
 
  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 中的内容到家目录中。
 
  如果用户没有家目录,那么不能切换到该用户
 
  2.userdel 命令:删除用户
 
  userdel USERNAME:删除用户
 
  userdel -r USERNAME:删除用户的同时删除用户家目录
 
  3.id 命令:显示账号属性信息
 
  id -g USERNAME:显示默认组ID
 
  id -G USERNAME:显示附加组ID
 
  id -u USERNAME:显示UID
 
  id -n -g/-G/-U:显示默认组/附加组/用户的名称
 
  4.finger 命令:检索用户信息
 
  finger命令比使用 id 命令更加友好, 数据显示格式更加美观, 而且会显示mail等信息。
 
  5.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:解锁用户
 
  6.快捷命令
 
  chsh SHELL USERNAME:改变默认 shell
 
  chfn USERNAME:修改注释信息,用来增加用户的详细信息,如公司,地址等。可以由 finger 查看相应的改变。
 
  7.passwd
 
  passwd --stdio:标准输入读取密码passwd -l:锁定用户账号(root only)
 
  echo "newpassword" | passwd --stdio MIKE
 
  passwd -u:解锁用户账号(root only)
 
  passwd -d:删除用户密码。用户密码删除后不能登录。
 
  8.pwch(password check):检查密码文件的完整性,可获取一些警告信息
 
  9.groupadd 命令:添加组
 
  groupadd -g GID GROUPNAME:指定GID
 
  groupadd -r GROUPNAME:添加一个系统用户组(-r 也适用于 useradd)
 
  groupadd -r apache
 
  10.groupmod 命令:修改组
 
  groupmod -g NEWGID GROUPNAME:修改GID
 
  groupmod -n NEWGROUPNAME GROUPNAME:修改组名
 
  11.groupdel 命令:删除组
 
  groupdel GROUPNAME
 
  12.gpasswd 命令:给组加密码
 
  gpasswd GROUPNAME
 
  12.newgrp :临时指定基本组,下文介绍。
 
  13.给组添加密码的作用
 
    为什么需要给组添加密码呢?不妨先说一下用户的基本组,好像到现在我们还没有讲基本组的情况吧,嘿嘿。基本组很简单,Linux 规定每个用户都需要在某一个组中,因此在创建用户的时候,我们可以指定用户的基本组(默认组):useradd -g GROUPNAME USERNAME。如果我们不手动指定用户的基本组,系统会默认创建一个和当前用户名一致的组,然后将这个组设置为用户的基本组。基本组的 GID 默认和用户 UID 一致(如果不被占用的话)。
 
    为啥用户必须要有一个组呢?因为 Linux 规定,一个文件的需要具备三种权限:文件所属主的权限,文件所属主所在组的权限,以及其他用户的权限。因此文件的所属主要是没有基本组的话,那是不是非常尴尬呢。这个问题先说到这里。
 
    回头看一下 gpasswd 的作用,一般情况下我们是不需要为组设置密码的。现在提一个需求:在执行某项操作的时候,要使用到其他组的权限,就需要临时切换到其他组,又不想改变现有组,那么就需要使用 newgrp 命令,newgrp 命令就是用来临时切换用户基本组,注意此操作只对当前登录有效。在使用 newgrp 的时候,可能需要我们输入组密码。为什么是可能呢?因为在将额外组临时设置为用户的基本组时,是不需要密码的。只有将此前和用户毫不相关的组临时设置为基本组才会需要密码。如需还原基本组:exit 或者 logout。
 
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章