Linux学习--第七天--用户和用户组
用户和用户组
usermod -a -G groupname username // 将已有用户添加到已有用户组
/etc/passwd
michael:x:500:500:CentOS:/home/michael:/bin/bash
| 字段序号 | 说明 |
|---|---|
| 1 | 用户名 |
| 2 | 文件中的x如果不写,就代表没有密码,但是只能在本机登录。 |
| 3 | uid 0表示超级用户,1-499系统用户(伪用户),500和以后为普通用户 |
| 4 | gid 初始组和附加组,初始组不建议修改 |
| 5 | 介绍说明 |
| 6 | 家目录 |
| 7 | 指定shell,不是/bin/bash 就是/sbin/nologin,尽量别修改。 |
/etc/shadow
michael:$1$UUurzUPh$Y6679rU4I9pBlZhg/V0fM0:17095:0:99999:7:::
| 字段序号 | 说明 |
|---|---|
| 1 | 用户名 |
| 2 | sha512算法生成(如果是!!或者*,则不可登录) |
| 3 | 密码最后一次修改日期(距离1970年多少天) |
| 4 | 密码生效时间 |
| 5 | 密码到期提醒时间 |
| 6 | 到期以后几天内还可以登录,即失效时间 |
| 7 | 密码可以用的时间,一般不写,即使你密码生效时间是100天,这边写3天就3天。用时间戳表示 |
| 8 | 保留字段 |
时间戳换算为日期
date -d '1970-01-02 18 days'
日期转化为时间戳
echo $(($(date --date='2014/01/06' +%s)/86400+1))
/etc/group
组名:组密码标志:GID:组中附加用户
/etc/gshadow
组名:组密码:组管理员用户名:组中附加用户
/home/ , /root
普通用户的家目录权限为700
root家目录目录权限为550,(root无视权限的限制)
普通用户设置成超级用户,将uid设置为0,而不是设置gid。
看提示符判断是不是根用户:# $
/etc/skel
用户模版目录
在这里面添加文件以后,在home/用户名下也会出现对应的文件。
/var/spool/mail/
用户的邮箱
要发送也需要邮件服务器,但是如果发给linux里的用户直接用内存。
/etc/default/useradd
用户默认值文件
/etc/login.defs
用户默认值文件
命令
| useradd | useradd [选项] 用户名 |
|---|---|
| -u UID | 添加用户时候指定用户id |
| -d 目录 | 添加用户时候指定用户家目录,必须是绝对目录 |
| -c 说明 | |
| -g 组名 | 添加用户时候指定用户初始组 |
| -G 组名 | 添加用户时候指定用户附加组 |
| -s shell | 添加用户时候指定用户登录shell 。默认是/bin/shell |
| passwd | passwd [选项] 用户名 |
|---|---|
| -S | 查询用户密码的密码状态,仅root可用 |
| -l | 锁定用户,仅root可用 |
| -u | 解锁用户,仅root可用 |
| --stdin | 可以通过管道符将输出的数据作为用户密码 |
passwd -S jack
# 输出:jack PS 2016-10-29 0 99999 7 -1 (Password set, MD5 crypt.)
# 2016-10-29 密码最后一次修改时间
# 0 密码修改必须间隔0天
# 99999 密码有效期
# 7 密码失效前第几天进行提醒
# -1 密码不失效
| usermod | usermod [选项] 用户名 |
|---|---|
| -u UID | 修改用户id |
| -c 说明 | |
| -G 组名 | |
| -L 用户名 | 锁定密码 |
| -U 用户名 | 解锁密码 |
| chage | chage [选项] 用户名 (用vi直接编辑shadow文件更直接) |
|---|---|
| -l | 列出用户的详细密码状态 |
| -d 日期 | 修改密码最后一次修改时间,shadow文件的第三个字段 |
| -m 天数 | 两次密码修改间隔,shadow文件第四个字段 |
| -M 天数 | 密码有效期,shadow文件的第五个字段 |
| -W 天数 | 密码到期前警告天数,shadow文件的第六个字段 |
| -I 天数 | 密码过期后宽限天数,shadow文件的第七个字段 |
| -E 日期 | 帐号失效时间,shadow文件的第八个字段 |
chage -d 0 michael #将密码修改日期归0了,用户只要一登陆就需要修改密码
userdel 用户名 #删除用户
userdel -r 用户名 #删除用户和家目录
su - 用户名 #连同环境一起切换
id 用户名 #查看用户id
| groupadd | groupadd [选项] 组名 |
|---|---|
| -g GID | 添加组时候指定组id |
| groupmod | groupmod [选项] 组名 |
|---|---|
| -g GID | 修改组id |
| -n 新组名 | 修改组名 |
groupdel 组名 #要想删除组,组一定不能是某用户的初始组。
| gpasswd | gpasswd [选项] 组名 |
|---|---|
| -a 用户名 | 把用户加入附加组 |
| -d 用户名 | 将用户从附加组删除 |
Linux学习--第七天--用户和用户组的更多相关文章
- Linux学习笔记06—系统用户及用户组的管理
一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...
- linux学习(十一)用户和用户组管理
一.用户文件 文件:/etc/passwd 这个文件记录了用户了用户名,用户id,所属组,家目录,shell信息: [root@iZ25lzba47vZ ~]# tail -n3 /etc/passw ...
- Linux基础学习(7)--用户和用户组管理
第七章——用户和用户组管理 一.用户配置文件 1.用户信息文件/etc/passwd: (1)用户管理简介:所以越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范. ...
- Linux学习笔记(七) 查询系统
1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...
- Linux学习总结(十三)—— CentOS用户组管理:创建用户组、修改用户组、删除用户组
文章首发于[博客园-陈树义],请尊重原创保留原文链接. 在Linux系统里,有两个系统文件与用户组密切相关,它们分别是:/etc/group./etc/gshadow. /etc/group:存储了用 ...
- Linux 的基本操作(系统用户及用户组的管理)
[认识/etc/passwd和/etc/shadow] 这两个文件可以说是linux系统中最重要的文件之一.如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的. /etc/pa ...
- linux学习(五)用户与组管理命令,以及用户信息文件解释
目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...
- linux学习笔记七
#文件权限很重要,有些时候删除和新建文件没有权限根本操作不了,linux一切皆是文件,所以必须得了解下权限了. 文件的一般权限 简单的ls -ld 命令就能看到权限,dr-xr-x---补全应该是dr ...
- 在 Linux 上为特定的用户或用户组启用或禁用 SSH
由于你的公司标准规定,你可能只能允许部分人访问 Linux 系统.或者你可能只能够允许几个用户组中的用户访问 Linux 系统.那么如何实现这样的要求呢?最好的方法是什么呢?如何使用一个简单的方法去实 ...
随机推荐
- sqli-labs(19)
百度了一下 基于错误的referer头的注入 0X01爱之初体验 猜测是基于referer头的注入 我们在referer后面加入单引号测试一下 真的报错了诶 那我们猜测一下 他应该是把 referer ...
- java语言对比,jvm,垃圾回收
1.java/c++/ruby/python集中语言的对比 java和c++ 1,没有指针 2,没有多继承 3,没有const 4,在实现多态上的区别 tc++里面的虚函数,纯续函数和java里 ...
- substring()方法是如何工作
1.substring()方法做了什么? substring(beginIndex,endIndex)方法返回一个从beginIndex到endIndex-1的字符串 String x = " ...
- python 不灭
进程与线程的区别? 1进程是CPU资源分配的最小单元,线程是CPU计算的最小单元. 2一个进程中可以有多个线程 3对于python来说,它的进程与线程与其它语言有差异,它是有GIL锁,保证同一进程中, ...
- 一台linux机器远程mount另一台linux机器
本机电脑系统是unbantu,要将另一台linux电脑上的文件mount到本机目录下.mount的原理是网络文件系统,即NFS,本机操作步骤如下 一,安装 nfs-common : apt inst ...
- 第十周java学习总结
目录 第十周java学习总结 学习内容 代码上传截图 代码链接 第十周java学习总结 学习内容 第12章 Java多线程机制 主要内容 Java中的线程 Thread类与线程的创建 线程的常用方法 ...
- 四、IDEA创建SpringBoot项目
1.从官网下载之后直接导入IDEA: 下载完成解压之后如下图: IDEA导入该项目: 之后一路next即可 导入成功之后你可能会发现左下角一直有个进度条在进行,傻傻的同学可能以为是在下载jar包,下个 ...
- @Aspect 注解切面解析
注解切面解析 注解切面解析器 /** * 注解切面解析器 */ public class BeanFactoryAspectJAdvisorsBuilder { /** * Bean 工厂 */ pr ...
- sqlalchemy 中 desc 的使用
是这样: items = Item.query.order_by(Item.date.desc()).all() 而不是这样: items = Item.query.order_by(desc(Ite ...
- 测开之路一百四十五:SQLAlchemy与后台模板整合之新增、查询、删除
实现在页面上点击展示页就展示内容,点击新增页就触发新增功能 项目结构 admin.__init__ from flask import Blueprint admin = Blueprint('adm ...