zoukankan      html  css  js  c++  java
  • 二、Linux用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,每个账户拥有一个唯一的用户名和各自的口令。用户的管理主要包括以下:

    •     用户组的管理
    •     用户账号的添加、删除与修改
    •     用户口令的管理

    用户组的管理

    1.创建用户组

    groupadd [options] groupname

    -g: 指定用户组的标志号
    -o: 一般与-g同时使用,表示新的用户组可以与已有用户组的GID相同

    groupadd -g 101 test3 添加一个用户组,GID 101

    2.删除用户组

    groupdel group  

    eg.groupdel test3 删除用户组test3

    3.修改用户组

    groupmod [options] group
    -g:GID

    -n:将用户组名字改为新名字

    4.切换用户组

    如果一个用户属于多个用户组,用户可以在登录后,使用命令切换到其他用户组newgrp group

    用户组的删除、添加,实际上会改动/etc/group文件

    输入命令: cat /etc/group可以查看用户组

    ...

    cc:x:1000:cc
    test1:x:1001:
    test2:x:1002:
    test3:x:101:

    用户管理

    1.添加单个用户

    useradd [options] user

    • -c 用户描述
    • -d 用户的主目录,如果目录不存在,可指定-m创建
    • -g 所属的用户组,可用使用组名或者GID,用户组需存在,否则会报错useradd: group 'test1' does not exist
    • -G 附加用户组
    • -s指定用户的shell文件
    • -u用户号,如果有-o,可重复使用其他用户的标志号

    useradd -c test1user -d /home/cc1 -g test1 cc1 为组test添加用户cc1

    2.删除用户

    userdel -r user 删除用户(从/etc/passwd删除)以及它的主目录

    3.修改账号

    usermod [options] user

    • -c 用户描述
    • -d 用户的主目录,如果目录不存在,可指定-m创建
    • -g 所属的用户组,可用使用组名或者GID,用户组需存在,否则会报错useradd: group 'test1' does not exist
    • -G 附加用户组
    • -s指定用户的shell文件
    • -u用户号,如果有-o,可重复使用其他用户的标志号

    4.用户的口令管理

       用户刚创建时被锁定,无法使用。管理员可以修改用户的口令,而无需验证旧的口令,其他用户只能修改自己的口令

    命令格式:passwd [options] user

    • -l 锁定用户
    • -f 强制用户下次登录时必须修改口令
    • -u 口令解锁
    • -d 账号无口令
    • passwd 修改当前用户的口令

    与账户有关的文件

      账户和用户组的修改主要涉及文件/etc/passwd、/ect/group、/etc/shadow

    1./etc/passwd

      每个账户在这个文件中有个对应行,这个文件记录了用户的一些基本属性。

    cat /etc/passwd可查看

    ...

    cc:x:1000:1000:CC:/home/cc:/bin/bash
    cc1:x:1001:1001:test1user:/home/cc1:/bin/bash
    cc2:x:1002:1002:changetotest2:/home/cc2:/bin/bash
    cc4:x:1003:1002:test1user:/home/cc4:/bin/bash
    cc3:x:1004:1001:test2user:/home/cc3:/bin/bash
    cc5:x:1005:101::/home/cc5:/bin/bash
    cc6:x:1006:101::/home/cc6:/bin/bash

    从左往右,分别是 账户名:口令秘钥:用户标志号:组标志号:描述:主目录:登录shell

    • 用户名 代表用户的字符串,由字母、数字或者“/”组成,不能有冒号、.、-和+
    • 口令 一些系统中会直接在这里存储用户的口令加密串,但是/etc/passwd是所以用户都可以访问的,所以部分系统会把真正加密后的加密串存放到/etc/shadow,而/etx/passwd中用代号x替代
    • 用户标志号,一个整数,如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
    • 组标识号,记录用户所属的用户组
    • 主目录,用户的起始工作目录
    • 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。如果不指定shell,系统使用sh为默认的登录shell

  • 相关阅读:
    Cookie、LocalStorge、SesstionStorge 的区别和用法
    JavaScript奇技淫巧44招
    js中callee与caller的区别
    两个示例介绍JavaScript的闭包
    js 判断url的?后参数是否包含某个字符串
    js实现输入验证码
    js关于DOM和BOM
    HTTP 协议
    HTML CSS JS 的初识
    异步函数
  • 原文地址:https://www.cnblogs.com/Cc905/p/14130291.html
Copyright © 2011-2022 走看看