User and User Groups in Linux
本文梳理了一下Linux用户和用户组的常用的一些命令。
有关的配置文件:
- /etc/group 存储当前系统中所有用户组信息
- /etc/gshadow 存储当前系统中所有用户组的密码
- /etc/passwd 存储当前系统中所有用户的信息
- /etc/shadow 存储当前系统中所有用户的密码信息
配置文件的内容格式说明:


说明:在使用cat /etc/group查看的时候,你会发现有的组最后是不显示用户列表的。那么如何查看用户组的用户名单列表,下面有code。
用户组的添加,修改,删除
- groupadd group_name//添加用户组
- groupmod -n new_name old_name//修改用户组的名字
- groupmod -g 668 group_name//修改组编号
- groupdel group_name//先删除用户再删除用户组
用户的添加,修改,删除
- useradd -g group_name user_name//用户组中添加用户或(gpasswd -a username groupname)(创建用户的时候,没有指定用户组,则系统会创建与用户名相同的用户组)
- useradd -d /home/xxx user_name//个人文件夹
- usermod -c info user_name//添加用户备注信息
- usermod -l new_user old_name//新用户 占用 旧用户(离职)
- usermod -d /home/xxx user_name//修改用户的文件路径
- usermod -g group_name user_name//移动用户
- userdel user_name//删除用户(不会删除个人文件夹)
- userdel -r user_name//用户和文件一同删除
passwd 命令
- passwd -l user_name//锁定用户(违规用户)或者 在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
- passwd -u user_name//解锁用户
- passwd -d user_name//清除用户的密码
- passwd user_name//修改或设置用户密码
主组&附属组
一个用户可以同时属于多个用户组(其中必有一个主组和多个附属组)
- gpasswd -a user_name affiliated_group//用户添加附属组
- newgrp affiliated_group //临时切换到附属组(有密码的需要输入密码)
- gpasswd -d user_name affiliated_group//从附属组中删除用户
- useradd -g main_group -G group1,group2,group3 //
- gpasswd group_name//修改组密码
- gpasswd -d A GROUP 或者 从组中删除用户,编辑/etc/group 找到GROUP1那一行,删除 A
查看命令
- Whoami//我是谁?显示当前登录用户
- id username//显示指定用户信息,包括编号、用户名、主要组编号及名称,附属组列表
- groups user_name//查看用户所属组别
- id -gn//查看当前登录用户,所属组别,或者直接groups
- id -a mark//显示详细的信息,如:uid=500(mark) gid=500(teacher) 组=500(teacher)
- 查看某个组的所有组员 grep 'groupName' /etc/group //查看组的ID awk -F":" '{print $1"tt"$4}' /etc/passwd | grep 'groupId' //将groupId替换为ID
设置用户文件的访问权限
- chmod 命令,功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.
- chgrp命令,功能:改变文件或目录所属的组。chgrp -R groupName fileName
- chown 命令,功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
其他命令
- chfn username//设置用户资料,依次输入用户资料
- finger username//显示用户详细资料
- touch /etc/nologin//暂时禁止所有普通用户的登录,建一个空的文件就可以了。
- su username//切换用户,不加参数(username)代表切换到root
- 用户已经登录,无法删除用户,pkill -u username(粗暴的方法)然后删除(不建议使用)
User and User Groups in Linux的更多相关文章
- 【转】How to Change File Ownership & Groups in Linux
有关linux下 文件权限的问题,一直不是很清楚.(参考菜鸟教程: http://www.runoob.com/linux/linux-file-attr-permission.html) 像上面这样 ...
- Linux 杂记
Linux命令行与图形界面进行切换 1.实时切换 1.1 命令行->图形 startx 1.2 图形->命令行 Ctrl+Alt+F1--F6 2.启动默认 2.1 启 ...
- 100个linux站点
(一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...
- linux cgroups 简介
cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统 ...
- Linux的Namespace与Cgroups介绍
Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...
- Linux核心-hc课堂笔记
windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇 服务器篇 关于文件夹: /boot 引导分区,操作系统启动时要到该目录下 ...
- linux processes identifiers
Linux, like all Unix uses user and group identifiers to check for access rights to files and images ...
- linux常用命令集锦
linux 查看所有用户所在组 vi /etc/group 一个用户可以属于多个组,查看用户所属的组,groups + 用户名 linux 查找文件命令 find -name 文件名 在 ...
- Linux 上配置 AG
SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...
随机推荐
- TCP/IP入门(3) --传输层
原文:http://blog.csdn.net/zjf280441589/article/category/1854365 传输层的主要功能 1)传输层为应用进程之间提供端到端的逻辑通信(网络层是为主 ...
- Unity加载模块深度解析(纹理篇)
在游戏和VR项目的研发过程中,加载模块所带来的效率开销和内存占用(即“加载效率”.“场景切换速度”等)经常是开发团队非常头疼的问题,它不仅包括资源的加载耗时,同时也包含场景物件的实例化和资源卸载等.在 ...
- Spring aop 原始的工作原理的理解
理解完aop的名词解释,继续学习spring aop的工作原理. 首先明确aop到底是什么东西?又如何不违单一原则并实现交叉处理呢? 如果对它的认识只停留在面向切面编程,那就脏了.从oop(Objec ...
- JDBC小工具--TxQueryRunner及其单元测试
1.TxQueryRunner的简介(需要相关jar包的请留言) TxQueryRunner类是common-dbutils下QueryRunner的子类,是用来简化JDBC操作的,所以要导入comm ...
- java jdk动态代理
在面试的时候面试题里有一道jdk的动态代理是原理,并给一个事例直接写代码出来,现在再整理一下 jdk动态代理主要是想动态在代码中增加一些功能,不影响现有代码,实现动态代理需要做如下几个操作 1.首先必 ...
- android开发中在界面上实现曲线图的几个开源项目
转自:https://wapiknow.baidu.com/question/1959128379041474620?qq-pf-to=pcqq.c2c 几个相关开源项目: 1. MPAndroid ...
- 命令安装VS
Installing Visual Studio Visual Studio 2015 Other Versions Visual Studio 2013 Visual Studio 2010 ...
- spring AOP应用
转自:http://wb284551926.iteye.com/blog/1887650 最近新项目要启动,在搭建项目基础架构的时候,想要加入日志功能和执行性能监控的功能,想了很多的想法,最后还是想到 ...
- javascript练习-私有状态
在经典的面向对象编程中,经常需要将对象的某个状态封装或隐藏在对象内,只有通过对象的方法才能访问这些状态,对外只暴露一些重要的状态可以直接编写.这是就需要私有状态. function Range(fro ...
- NYOJ 737 石子合并(一)
分析: 本题为区间型动态规划,dp[i][j] 表示从第 i 堆合并到第 j 堆的最小代价, sum[i][i] 表示第 i 堆到第 j 堆的石子总和,则动态转移方程: dp[i][j] = min( ...