Linux 用户与用户组管理
Linux 是一个多用户多任务的分是操作系统,用户是实现操作系统资源分配,同时也是安全权限模型的核
心要素之一;用户组是一个容纳很多用户的容器,可以分配权限组,进一步优化了权限分配。
一、用户管理
用户管理主要了解用户相关的系统配置文件以及用户创建、删除等操作。用户分为三种,
系统管理员root(权限最高),系统用户(主要为系统默认运行部分进程而设定的用户),普通用户。
1、用户配置文件/etc/passwd是系统识别用户的一个文件,系统所有的用户都记录在此文件。
/etc/passwd 文件中,每一行代表一个用户的信息,分别有7个字段,使用分隔符 : 分割,每个字段各有含义,如下图所示:

标注:管理员用户root标识号默认是 0 , 系统用户标识号默认 1-499 ,普通用户标识号默认500-65535。
2、用户密码配置文件/etc/shadow是系统标识用户密码相关的一个文件,与用户配置文件/etc/passwd 相对应,
记录着用户密码等相关记录。/etc/shadow文件中,每一行代表一个用户的密码相关信息,分别9个字段,使用分隔符 :分割,每个字段各有含义,如下图所示:

标注:用户加密方式一般采用单向加密方式,以redhat linux 6.5 为例子,用户加密一般采用安全的哈希算法 512bit (SHA515)进行加密。
3、用户操作
useradd 创建用户
标注:用户必须是第一次创建用户,如果已存在的用户则部分命令参数无效
useradd username #创建用户
useradd -c "This is test user" username #创建用户并填写用户注释信息
useradd -M username #创建用户但不创建家目录
useradd -d /home/hello t username #创建用户并指定用户家目录
useradd -g 509 username #指定用户组,替换原来的用户组,但用户组事先存在
useradd –G 509 username #指定用户组,不替换原来的用户组,但用户要事先存在
useradd -s /bin/tcsh username #指定用户默认shell
useradd -M username #创建用户,但指定用户没有家目录
passwd 设置用户认证信息,包括用户密码、密码过期时间等
passwd username #修改用户密码
passwd -d username #删除密码,仅root用户使用
passwd -l username #锁住用户密码,功能类似usermod –L
passwd -u username #解开已上锁的用户,功能类似 usermod –U
passwd -S username #查看用户密码状态及创建时间,仅root用户使用
userdel 删除用户
userdel username #只删除用户,不删除其家目录
userdel -r username #删除用户和用户家目录
usermod 修改用户基本信息
usermod -c "This is test user" username #修改用户注释信息
usermod - d /home/testfile username #修改用户默认家目录
usermod –f 100 username #修改用户用户失效宽限期,即密码过期后多少天即关闭账号
usermod –e 100 username #修改用户失效期限
usermod –g usergroup username #修改用户所属的群组,替换原来的用户基本组
usermod -a –G usergroup username #修改用户所属的附加群组,不替换原来的用户基本组
usermod -l changename username #修改用户账号名称
usermod –L username #锁定用户,使其密码无效
usermod –U username #解锁用户
usermod –u username #修改用户ID
usermod –s username #修改用户默认shell
二、用户组管理
用户组主要了解用户组相关的系统配置文件以及用户组创建、删除等操作。创建用户默认用户标识号与用户组标识号是一致的,可以通过命令进行修改。
1、用户组系统配置文件 /etc/group 是标识系统用户组的一个文件,记录了用户组相关信息。
/etc/group文件中,每一行代表一个用户组信息,分别4个字段,使用分隔符 :进行分割,每个字段各有含义,如下图所示:

2、用户组密码系统配置文件 /etc/gshadow 是标识系统用户组密码相关的一个文件,与用户组配置文件/etc/group 相对应,
记录了用户组密码相关信息。/etc/gshadow文件中,每一行代表一个用户组密码相关信息,分别4个字段,使用分隔符 :进行分割,每个字段各有含义,如下图所示:

3、用户组操作
groupadd 创建用户组
标注:用户组必须是第一次创建用户组,如果已存在的用户组则部分命令参数无效
groupadd groupname #创建用户组
groupadd -g 1000 groupname #创建用户组并指定用户组ID
groupadd -r groupname #自动创建为系统用户组ID小于于500
gpasswd 用户组配置文件/etc/group和/etc/gshadow 管理工具
gpasswd groupname #设置用户组密码
gpasswd -a username groupname #添加用户组,但不改变用户基本组
gpasswd -d username groupname #删除用户组,只能删除用户的附加组
gpasswd -A username groupname #添加组管理员,/etc/gshadow可查询
gpasswd -r groupname #删除用户组密码
gpasswd -R groupname #限制用户登录组,只有组中成员才可以使用newgrp加入该组
groupdel 删除用户组
groupdel groupname #删除用户组
groupmod 修改用户组ID号或名称
groupmod -g 700 groupname #修改用户组ID号为700
groupmod -n newname groupname #修改用户组名称
Linux 用户与用户组管理的更多相关文章
- Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- 八、Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- linux用户和用户组管理详解
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- Linux 用户和用户组管理(useradd userdel groupadd groupdel)
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...
- Linux用户和用户组管理总结
Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...
- Linux 笔记 - 第五章 Linux 用户与用户组管理
博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 u ...
- Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令
上篇博客我们介绍了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow:然后介绍了用户组信息文件/etc/group,用户组密码文件/etc/gshado ...
- Linux用户及用户组管理
Linux是个优秀的多用户多任务操作系统. 掌握Linux的用户/用户组管理是基本及必备技能之一. 简单做下总结. 无论采用图形界面的用户管理设置,还是终端的管理方式,最终目的都是对系统的用户/用户组 ...
- Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件
前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...
- Linux用户和用户组管理
该内容来摘自于鸟叔的Linux私房菜. Linux的每个用户包含两个ID,一个是用户ID,一个是用户组ID.系统会根据/etc/passwd和/etc/group的设定来决定用户的访问权限.下面对用户 ...
随机推荐
- spring boot guava cache 缓存学习
http://blog.csdn.net/hy245120020/article/details/78065676 ****************************************** ...
- Zabbix监控数据库连通性所遇问题
Zabbix配合db2bp监控DB2数据库能否远程连接问题分析: 所遇问题,有时监控一直获取不到数据,原因是connect to连接超时了,zabbix默认监控脚本获取数据时间是3s,但最多支持30s ...
- maven 使用记录之修改 maven默认jdk版本
maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致 1.项目属性的 java compiler可以设置 2.直接修改 m ...
- 初步理解Python进程的信号通讯
Reference: http://www.jb51.net/article/63787.htm 信号的概念 信号(signal)-- 进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信 ...
- JAVA-JSP内置对象之response对象实现页面自动刷新
相关资料:<21天学通Java Web开发> response对象 实现页面自动刷新1.可以通过response对象的addIntHeader()方法添加一个标题为Refrsh的标头,并指 ...
- iOS如何把一个CGPoint存入数组里
CGPoint itemSprite1position = ccp(100,200): NSMutableArray * array = [[NSMutableArray alloc] initW ...
- CentOS 7 下安装 Nginx(转)
转载自:http://www.linuxidc.com/Linux/2016-09/134907.htm 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Wi ...
- Python的可视化包 – Matplotlib 2D图表(点图和线图,.柱状或饼状类型的图),3D图表(曲面图,散点图和柱状图)
Python的可视化包 – Matplotlib Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表.Matplotlib最早是为了可 ...
- open source Swift, Objective-C and the next 20 years of development
Q&AApple's Craig Federighi talks open source Swift, Objective-C and the next 20 years of develop ...
- <[长期赢利:股票价值投资方法]>读书笔记
书在这里 风险是因为不够专业 在股市里,要不断拓宽自己的眼界 投资如长跑,贵在坚持 长线为主,短线为辅:重视选股,减少盲目:耐心等待,春天回来 除了要与银行利息比以外,还要了解当时股票的平均市盈率,再 ...