Linux账号管理

Posted bopo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux账号管理相关的知识,希望对你有一定的参考价值。

        一、passwd文件结构

    技术分享图片

    1. 账号名称
    2. 密码
    3. UID
    4. GID
    5. 用户信息说明列
    6. 主文件夹
    7. Shell


    /etc/shadow文件结构

    技术分享图片

    1. 账号名称
    2. 密码
    3. 最近更改密码的日期
    4. 密码不可被更改的天数
    5. 密码需要重新更改的天数
    6. 密码需要更改期限前的警告天数
    7. 密码过期后的账号宽限时间
    8. 账号失效日期
    9. 保留


    /etc/group文件结构

    技术分享图片

    1. 用户组名称
    2. 用户组密码(很少设置)
    3. GID
    4. 该用户组支持的账号名称


    /etc/gshadow文件结构

    技术分享图片

    1. 用户组名
    2. 密码列
    3. 用户组管理员账号
    4. 该用户的所属账号


    用户组之间的切换(初始用户组和有效用户组)

    1. 初始用户组:/etc/passwdGID
    2. 有效用户组:
      1. 查看自己支持的用户组groups

    第一个即是有效用户组

    技术分享图片

    1. newgrp进行有效用户组切换

    技术分享图片


    用户密码忘记了怎么办?

    1. 一般用户  =====è    root用户即可更改,不需要知道原密码
    2. root密码   =====è 各种方法进入Linux系统修改、

           二.    账号管理

    1. 新增用户

    useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户账号名


    -M 不用穿件用户主文件夹

    -m 要创建用户主文件夹(默认)

    -r 创建一个系统账号

    技术分享图片


    指定uid以及存在的用户组

    技术分享图片


    创建一个系统账号

    技术分享图片


    useradd参考文件/etc/default/useradd  /etc/login.defs  /etc/skel/*(使用useradd命令时的默认值)

    技术分享图片

    GROUP=100

    centos使用的是私有用户组机制,默认不参考这个值。

    INACTIVE=-1

    密码不会失效

    EXPIRE=

    账号失效日期

    SKEL=/etc/skel

    主文件夹中的内容是这个目录下复制过去的
     

    /etc/login.defs

    技术分享图片



    1. 设置密码passwd

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

    -l 使密码失效

    -u unlock的意思

    -S 列出账号相关参数


    passwd不加账号,是修改自己的密码。

    chage 显示密码更详细参数


    使用chage使新增用户登陆后必须更改自己的密码:

    技术分享图片



    1. 更改用户账号信息

    1

    usermod [-cdegGlsuLU] username

    -d 主文件夹

    -g 初始用户组

    -l 修改用户名称

    -u UID数据

    -L 密码冻结

    -U 去掉冻结


    1. 删除用户

    1

    userdel [-r] username

    -r 连通主文件夹一起删除


    1. 用户功能

    finger [-s] username

    -s 横排输出(部分数据)


    chfn [-foph] username

    -f 完整姓名

    -o 办公室房间号

    -p 办公室电话号

    -h 家里电话号

      

    chsh [-ls]

    -l 列出可用shell

    -s 修改自己的shell


    id [username]

    查看usernameUID GID等相关信息


    1. 用户组管理

    用户组相关的文件/etc/group /etc/gshadow


    groupadd [-g gid] [-r] 用户组名

    -g 指定GID

    -r 新建系统用户组


    groupmod [-g gid] [-n group_name] 用户组名

    -g 修改GID

    -n 修改组名


    groupdel [groupname]

    删除用户组


    gpasswd  [-A user1,...] [-M user3,...] goupname

    gpasswd [-rR] groupname

    -A:将后面的用户设置为组管理员

    -M:   将某些账号加入这个用户组

    -r:将groupname的密码删除

    -R :   groupname密码栏失效



    . 用户权限切换su sudo

    1. 用于切换用户的su

    su [-lm] [-c 命令] [username]

    -  : 使用login-sehll的变量来登录系统

    -l : 添加预切换的环境变量

    -c  : 指定一次命令


    注意:

    • 使用 - 执行login-shell读取变量
    • 使用root切换用户,不用输入密码


    1. 不需要知道被切换用户密码的sudo

    sudo [-b] [-u 新用户账号]

    -b : 让后续命令交给系统自动执行

    -u    :   预切换用户


    技术分享图片


    判断用户是否具有sudo运行的sudo文件    /etc/sudoers

    技术分享图片

    1. 用户账号
    2. 任何位置
    3. 任何身份
    4. 任何命令


    用户组前面要加%

    技术分享图片


    免密码设置:

    技术分享图片


    一些其他的限制:限制命令、设置别名等不再赘述。


    . 其他用户相关的命令

    查询用户w,who,last,lastlog

    用户对谈 write,mesg,wall


    . 手动创建用户的步骤

    1. 新建所需要的用户组    vim /etc/group
    2. /etc/group/etc/shadow同步    grpconv
    3. 新建账号的各个属性    vim /etc/passwd
    4. /etc/passwd/etc/shadow同步    pwconv
    5. 新建该账号的密码     passwd accountname
    6. 新建用户主文件夹     cp -a /etc/skel /home/accountname
    7. 更改用户主文件夹的属性      chown -R accountname.group  /home/accountname




































以上是关于Linux账号管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 系统管理04--账号管理

Linux账号权限管理

Linux账号与权限管理

linux-账号与权限管理--用户账号和组账号权限及归属

Linux账号权限管理

08-Linux账号管理学习