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


有关的配置文件:

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

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

说明:在使用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(粗暴的方法)然后删除(不建议使用)

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

User and User Groups in Linux的更多相关文章

  1. 【转】How to Change File Ownership & Groups in Linux

    有关linux下 文件权限的问题,一直不是很清楚.(参考菜鸟教程: http://www.runoob.com/linux/linux-file-attr-permission.html) 像上面这样 ...

  2. Linux 杂记

    Linux命令行与图形界面进行切换     1.实时切换  1.1 命令行->图形  startx  1.2 图形->命令行  Ctrl+Alt+F1--F6  2.启动默认  2.1 启 ...

  3. 100个linux站点

    (一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...

  4. linux cgroups 简介

    cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统 ...

  5. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...

  6. Linux核心-hc课堂笔记

    windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇  服务器篇 关于文件夹: /boot       引导分区,操作系统启动时要到该目录下 ...

  7. linux processes identifiers

    Linux, like all Unix uses user and group identifiers to check for access rights to files and images ...

  8. linux常用命令集锦

    linux 查看所有用户所在组   vi /etc/group 一个用户可以属于多个组,查看用户所属的组,groups + 用户名 linux 查找文件命令   find -name 文件名    在 ...

  9. Linux 上配置 AG

    SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...

随机推荐

  1. Jquery插件开发精品教程

    最开始接触jquery对他提供的各种插件总是十分有兴趣,但是总是不理解为什么这样写,从网络上查询了很久终于找到这篇文章,讲解的很详细,分享给大家. 要说jQuery 最成功的地方,我认为是它的可扩展性 ...

  2. Python处理json格式的数据文件(一些坑、一些疑惑)

    这里主要说最近遇到的一个问题,不过目前只是换了一种思路先解决了,脑子里仍然有疑惑,只能怪自己太菜. 最近要把以前爬的数据用一下了,先简单的过滤一下,以前用scrapy存数据的时候为了省事也为了用一下它 ...

  3. Java 第29章GUI

    GUI入门 JDBC 连接数据库的过程 注册驱动(class ,forName) 创建连接 创建连接对象 执行SQL语句 statement对象的类型与作用 1.(layout :版面,布局) 2.( ...

  4. iOS 的文字滚动条效果的实现

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 100, 300, 50)]; label.text  = @"欢 ...

  5. winfrom调用FastReport模板

    '存放模板的路径 If Dir(Application.StartupPath & "\ReportsFile\HB\01\IN.frx", FileAttribute.N ...

  6. iis6|iis7|配置URLRewriter|64位操作系统下|.net2.0|.net4.0|配置URLRewriter|Web.config配置详情

    想必很多ASP.NET的码友们在IIS配置伪静态被严重纠结过不止一次两次,本园主经过多次站点伪静态配置,总结了一下,IIS版本:IIS 6.IIS 7,服务器:Windows Server 2003. ...

  7. PerconaXtraBackup 压缩备份集

    压缩备份集 stream模式支持且只支持:tar 和 xbstream 两种格式,后者是xtrabackup提供的专有格式,解包时需要同名的专用命令处理 innobackupex --defaults ...

  8. Cobbler学习之一--Fedora17下配置Cobbler安装环境

    1:Cobbler是什么 Cobbler是一大Linux装机利器,可以快速的建立网络安装环境. 2:安装Cobbler需要的组件 createrepo httpd (apache2 for Debia ...

  9. OpenMP之求和(用section分块完成)

    // Sum_section.cpp : 定义控制台应用程序的入口点. //section功能:; //1.指定其内部的代码划分给线程中某个线程,不同的section由不同的线程执行; //2.将一个 ...

  10. rdc21n(研发与设计综合讨论)博客开通了!

    rdc21n是“Research and Design Comprehensive discussioN”,其中21表示Comprehensive discussioN中间的21个字母(不包含空格), ...