zoukankan      html  css  js  c++  java
  • Linux系统用户账号管理

    文章来源《鸟哥的Linux私房菜》

    此文仅做学习笔记用

    Linux下系统用户相关的配置文件有/etc/passwd和/etc/shadow等

    /etc/passwd配置文件详解:

    root:x:0:0:root:/root:/bin/bash

    共有七个区域,以冒号隔开

    第一个区域:root:x:0:0:root:/root:/bin/bash ,用户名

    第二个区域:root:x:0:0:root:/root:/bin/bash ,密码,因为此配置文件都可以读取,所以用x表示,真实密码在/etc/shadow配置文件中用加密方式写出

    第三个区域:root:x:0:0:root:/root:/bin/bash ,用户的UID,超级管理员root的UID为0

    用户识别码ID范围:

    0(系统管理员):当UID为0时,代表此账号为系统管理员

    1~999(系统账号):保留给系统使用的ID

    1000~60000(可登入账号):一般用户使用。

    第四个区域:root:x:0:0:root:/root:/bin/bash,用户组的GID,超级管理员组的GID为0

    第五个区域:root:x:0:0:root:/root:/bin/bash ,使用者咨询说明栏,解释账号的意义

    第六个区域:root:x:0:0:root:/root:/bin/bash ,用户家目录文件夹

    第七个区域:root:x:0:0:root:/root:/bin/bash ,用户使用的shell

    /etc/shadow 文件结构:

    root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7:::

    共有九个区域

    第一个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 账号名称

    第二个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码。进行加密后的显示出来

    第三个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 最近更改密码的时间

    第四个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码不可被更改的时间,即在最新一次更改密码后的几天内都不可以更改密码

    第五个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码需要变更的天数,即在最新一次更改密码后,这个时间后需要更改密码

    第六个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7:::  密码需要变更期限前的警告天数

    第七个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码过期后的宽限期限

    第八个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 账号失效日期

    第九个区域:保留,等待以后新功能加入

    用户组:

    /etc/group配置文件结构:root:x:0:

    第一区域:root:x:0:   用户组名称

    第二区域:root:x:0:  群组密码

    第三区域: root:x:0: 群组的ID,即GID

    第四区域:群组支持的账号名称

    新增用户:useradd

    useradd [-u uid] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 主文件夹绝对路劲] [-s shell] 使用者账号名

    选项与参数:

    -u  :后面接UID,直接指定一个特殊UID给此账号

    -g :后面接有效群组

    -G:后面接其他群组

    -m:强制要创建使用者文件夹

    -M :强制不要创建使用者文件夹

    -c:/etc/passwd里的用户说明内容

    -d :指定某个目录为用户主文件夹

    -r :创建一个系统账号

    -s :用户登录时使用的shell,默认为/bin/bash

    -e:后面接日期,即账号失效日期

    -f:指定密码是否会失效

    删除账号时,若该账号所属群组已经没有其他用户在组内,其群组也会被删除

    设置密码:

    passwd [--stdin] [账号名称]

    passwd [-l] [-u] [--stdin] [-S] [-n 日期] [-w 日数] [-i 日期] 账号

    选项与参数

    --stdin :通过来自前一个管线输出的数据,作为密码输入

    -l :lock,使密码失效

    -u :与-l 相对,unlock

    -S :列出密码相关参数

    -n: 后面接天数,多久不可修改密码天数

    -x :后面接天数,多久内必须要更改密码

    -w :接天数。密码过期前的警告天数

    -i :密码失效日期

    usermod:

    usermod [-cdegGlsuLU] username

    选项与参数:

    -c :接账号的说明

    -d :接账号的主文件夹

    -e :日期

    -f :接天数

    -g :修改初始群组

    -G :修改次要群组

    -l:接账号名称,即修改账号名称

    -s 修改登录使用的shell

    -u :修改UID

    -L :暂时冻结使用者登录

    -U :解开冻结的使用者登录

    删除用户命令:userdel

    userdel -r username

    选项与参数:

    -r:连同主文件夹一起删除

    groupadd:

    groupadd [-g  gid] [-r] 群组名称

    选项与参数:

    -g :直接赋予某个GID

    -r :创建系统群组

    groupmod :

    groupmod [-g gid] [-n group_name ] 群组名

    选项与参数:

    -g :修改既有的GID

    -n:修改既有的群组名称

    删除群组:groupdel

    getfcal :查看某个目录或文件的ACL设置项目

    setfacl:设置某个目录或文件的ACL规范

    setfacl [-bkRd] [{-m|-x} acl参数] 目标文件

    参数及选项:

    -m:设定后续的ACL参数,不可与-x一起使用

    -x:删除后续的ACL参数,不可与-m合用

    -b:溢出所有的ACL设定参数

    -k:移除预设的ACL参数

    -R:返回设定ACL,次目录也会被设定

    -d:设定预设ACL参数的意思

  • 相关阅读:
    CharSequence的getText()与String的getString()(转)
    android 1.6 launcher研究之自定义ViewGroup (转 2011.06.03(二)——— android 1.6 launcher研究之自定义ViewGroup )
    2.1Android界面View及ViewGroup(转)
    Android笔记:百度地图与高德地图坐标转换问题
    NDK常用命令
    深入Java单例模式(转)
    CentOS 6.2 安装vsftpd 服务器(转)
    centos 安装FTP server详情(转)
    CentOS 6.3下NTP服务安装和配置
    搭建vscode+vue环境
  • 原文地址:https://www.cnblogs.com/xinxiao/p/8398761.html
Copyright © 2011-2022 走看看