zoukankan      html  css  js  c++  java
  • 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 用户名 将用户从附加组删除
  • 相关阅读:
    Android 开发 深入理解Handler、Looper、Messagequeue 转载
    Android 开发 Handler的基本使用
    Java 学习 注解
    Android 开发 AlarmManager 定时器
    Android 开发 框架系列 百度语音合成
    Android 开发 框架系列 Google的ORM框架 Room
    Android 开发 VectorDrawable 矢量图 (三)矢量图动画
    Android 开发 VectorDrawable 矢量图 (二)了解矢量图属性与绘制
    Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图
    Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
  • 原文地址:https://www.cnblogs.com/onegoal/p/7244809.html
Copyright © 2011-2022 走看看