你的位置:首页 > 操作系统

[操作系统]User and User Groups in Linux


本文梳理了一下Linux用户和用户组的常用的一些命令。


有关的配置文件:

  • /etc/group 存储当前系统中所有用户组信息
  • /etc/gshadow 存储当前系统中所有用户组的密码
  • /etc/passwd 存储当前系统中所有用户的信息
  • /etc/shadow 存储当前系统中所有用户的密码信息

配置文件的内容格式说明:

Image 3

Image 5

说明:在使用cat /etc/group查看的时候,你会发现有的组最后是不显示用户列表的。那么如何查看用户组的用户名单列表,下面有code。


用户组的添加,修改,删除

    1. groupadd group_name//添加用户组
    2. groupmod -n new_name old_name//修改用户组的名字
    3. groupmod -g 668 group_name//修改组编号
    4. groupdel group_name//先删除用户再删除用户组

用户的添加,修改,删除

  1. useradd -g group_name user_name//用户组中添加用户或(gpasswd -a username groupname)(创建用户的时候,没有指定用户组,则系统会创建与用户名相同的用户组)
  2. useradd -d /home/xxx user_name//个人文件夹
  3. usermod -c info user_name//添加用户备注信息
  4. usermod -l new_user old_name//新用户 占用 旧用户(离职)
  5. usermod -d /home/xxx user_name//修改用户的文件路径
  6. usermod -g group_name user_name//移动用户
  7. userdel user_name//删除用户(不会删除个人文件夹)
  8. userdel -r user_name//用户和文件一同删除

passwd 命令

  1. passwd -l user_name//锁定用户(违规用户)或者 在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
  2. passwd -u user_name//解锁用户
  3. passwd -d user_name//清除用户的密码
  4. passwd user_name//修改或设置用户密码

主组&附属组

一个用户可以同时属于多个用户组(其中必有一个主组和多个附属组)

  1. gpasswd -a user_name affiliated_group//用户添加附属组
  2. newgrp affiliated_group //临时切换到附属组(有密码的需要输入密码)
  3. gpasswd -d user_name affiliated_group//从附属组中删除用户
  4. useradd -g main_group -G group1,group2,group3 //
  5. gpasswd group_name//修改组密码
  6. gpasswd -d A GROUP 或者 从组中删除用户,编辑/etc/group 找到GROUP1那一行,删除 A

查看命令

  1. Whoami//我是谁?显示当前登录用户
  2. id username//显示指定用户信息,包括编号、用户名、主要组编号及名称,附属组列表
  3. groups user_name//查看用户所属组别
  4. id -gn//查看当前登录用户,所属组别,或者直接groups
  5. id -a mark//显示详细的信息,如:uid=500(mark) gid=500(teacher) 组=500(teacher)
  6. 查看某个组的所有组员 grep 'groupName' /etc/group //查看组的ID awk -F":" '{print $1"tt"$4}' /etc/passwd | grep 'groupId' //将groupId替换为ID

设置用户文件的访问权限

  1. chmod 命令,功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.
  2. chgrp命令,功能:改变文件或目录所属的组。chgrp -R groupName fileName
  3. chown 命令,功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

其他命令

  1. chfn username//设置用户资料,依次输入用户资料
  2. finger username//显示用户详细资料
  3. touch /etc/nologin//暂时禁止所有普通用户的登录,建一个空的文件就可以了。
  4. su username//切换用户,不加参数(username)代表切换到root
  5. 用户已经登录,无法删除用户,pkill -u username(粗暴的方法)然后删除(不建议使用)

  有关用户和用户组的概念文章链接