linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow
1./etc/passwd 存储用户信息
[root@oldboy ~]# head /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
一行记录对应着一个用户,每行记录被冒号:分隔为7个字段,这7个字段的具体含义为:
用户名:密码:uid:gid:解释描述:家目录:登录shell
500及以前的uid都是系统用户,普通用户的uid大于500
可通过id 用户名查看该用户的用户和组信息
2./etc/shadow 存储用户的密码信息
[root@oldboy ~]# head /etc/shadow
root:$$ylNOqOypZpCje1NL$B2cJYJxy0IeKspoC1BHRYP3snN8Xp8Umtgn7xc/vCrRCfTgOp.vh2Y/gOEMSG3eb6kA9yanPoHWKi0.i31oZ8/:::::::
bin:*:::::::
daemon:*:::::::
一行记录对应着一个用户的密码信息,每行记录被冒号:分割为9个字段,这9个字段的具体含义为:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3./etc/group 存储组信息
[root@oldboy ~]# head /etc/group
root:x::
bin:x::bin,daemon
daemon:x::bin,daemon
一行记录对应着一个组信息,每行记录被冒号:分割为4个字段,这4个字段的具体含义为:
组名称:组密码:组id:用户列表
4./etc/gshadow 存储组密码信息
[root@oldboy ~]# head /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon
一行记录对应着一个组的密码信息,每行记录被冒号:分割为4个字段,这4个字段的具体含义为
组名称:组密码:组管理者:组成员列表
5.用户操作
①useradd新增用户
语法:useradd [-u uid] [-g 初始用户组] [-G 次要用户组] [-m|M] [-c 说明] [-d 主文件夹绝对路径] [-s shell] 用户名
-u:指定uid,可省略,如省略系统会默认创建普通用户并自动指定uid (如果要创建系统用户,需要使用-r参数,此时uid有要求/etc/login.def)
-g:指定初始用户组,可省略,如省略系统会自动创建一个与用户名相同的用户组,该值为/etc/passwd文件第4列的内容
-G:指定次要用户组,可省略
-m|M:是否强制创建用户主文件夹,可省略,系统用户默认强制不创建,普通用户(即uid>500)默认强制创建
-c:说明,即/etc/passwd文件第5列的内容
-d:指定主文件夹路径,可省略,默认为/home/用户名/
-s:指定登录shell,可省略,默认为/bin/bash
创建用户后需要为新用户设置密码
root用户为普通用户设置或修改密码:passwd 用户名,会提示输入新密码和确认新密码
普通用户修改自身密码:直接passwd,会提示输入旧密码、新密码和确认新密码
②usermod修改用户
语法:useradd [-u uid] [-g 初始用户组] [-G 次要用户组] [-c 说明] [-d 主文件夹绝对路径] [-s shell] 用户名
修改uid、初始用户组、次要用户组、说明、主文件夹和登录shell
③userdel删除用户
语法:userdel [-r] 用户名
-r:是否删除主文件夹,默认不删除,-r表示删除主文件夹
删除用户的时候会同时删除与用户同名的用户组
6.用户组操作
①groupadd增加用户组
语法:groupadd [-g gid] [-r] 用户组名
-g:指定gid,可省略,如省略系统会默认创建普通用户组并自动指定gid (如果要创建系统用户组,需要使用-r参数,此时uid有要求/etc/login.def)
②groupmod修改用户组
语法:groupmod [-g gid] [-n 新用户组名] 用户组名
-g:修改gid,通常不建议修改,容易造成资源错乱
-n:修改原用户组为新的名称
③groupdel删除用户组
语法:groupdel 用户组名
如果有用户使用某一个用户组作为初始用户组,则该用户组不能被删除
最新文章
- .NET 垃圾回收与内存泄漏
- linux内核分析作业3:跟踪分析Linux内核的启动过程
- HTML 表单和输入<;form>;<;input>;
- 【转】HTTP协议详解
- override与overload的区别
- gearman mysql udf
- Eclipse反编译插件JadEclipse 【转】
- linux 查看外网IP
- 【转】AAC ADTS格式分析
- Unity3D流行的游戏开发人员构建高速检查站系统
- es6 let和const命令(1)
- tp5 提升性能的几个方法
- 006-CSS引入外部字体
- CentOS 6.5下RPM方式(重新)安装MySQL 5.7.21从头到尾篇
- 推荐5款简洁美观的Hexo主题
- ERP项目实施记录06
- Python IDE集成开发工具
- 前端PHP入门-003-echo离不开它,注释看人品
- python初步学习-python函数(一)
- ZT Abstract Factory
热门文章
- Python 图像处理 OpenCV (12): Roberts 算子、 Prewitt 算子、 Sobel 算子和 Laplacian 算子边缘检测技术
- JS中style.display和style.visibility的区别
- 浅谈auth模块
- 半导体质量管理(LineWorks)_SPACE(统计过程分析和控制环境)
- Drools之基础语法
- 使用 PostCSS 进行 CSS 处理
- # Mysql常用函数总结(一)
- vue-cli3安装
- MySQL分库分表的原则
- python 面向对象专题(八):特殊方法 (一)__get__、__set__、__delete__ 描述符(一)