本文梳理了一下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. SAAS在中国市场的发展前景

    发展现状 2008年1-7月软件行业实现收入4199.1亿元,同比增长32.4%.2008年第一季度,业务管理软件市场总量达16.31亿元,同比增长17.8%.面对成本的上升,企业选择了向信息化要效率 ...

  2. tab栏切换的特殊效果

    在实际的开发过程中,我们可能会遇到这种需求,如下图 左边是三个tab栏,右边是显示内容的div,当鼠标滑到坐标的tab上时,给它一个高亮显示,让它对应的内容在右边的div中显示出来,当鼠标移出的时候把 ...

  3. JS 获取FileUpload1控件地址

    function openList() { //判断浏览器类型 var isIE = (document.all) ? true : false; ); ); ); var path = " ...

  4. UI进阶

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  5. <Oracle Database>诊断文件

    诊断文件 诊断文件是获取有关数据库活动的信息的一种方式,用于解决数据库出现的一些问题,主要包含有关数据库中出现的重要事件的一些信息,这些文件能更好的对数据库进行日常的管 理,主要类型有一下几种: 警告 ...

  6. 微信分享接口SDK简介使用

    很久没做移动端活动了,想不少人都参与过微信里面的活动,既然活动就少不了分享.那我就行一个前端的角度说说如何实现微信分享的吧. 对应微信分享,现在已有公共接口,微信的开发者文档SDK:https://m ...

  7. ofbiz 代码日记

    写代码一定要尽善尽美.. //修改方法 //条件查询 用于修改 List<GenericValue> stoList = delegator.findByAnd("YcrossS ...

  8. javascript练习-私有状态

    在经典的面向对象编程中,经常需要将对象的某个状态封装或隐藏在对象内,只有通过对象的方法才能访问这些状态,对外只暴露一些重要的状态可以直接编写.这是就需要私有状态. function Range(fro ...

  9. Hive几种数据导出方式

    Hive几种数据导出方式 今天我们再谈谈Hive中的几种不同的数据导出方式.可以根据导出的地方不一样,将这些方式分为三种: (1).导出到本地文件系统: (2).导出到HDFS中: (3).导出到Hi ...

  10. List 源码分析笔记

    List Class Diagram: 笔记一: 1.Iterable 接口只定义一个iterator()方法. Iterator 接口有hasNext, next, remove方法. ListIt ...