zoukankan      html  css  js  c++  java
  • [转贴]Linux新增用户和组

    linux添加用户

    原文:http://blog.chinaunix.net/u/12110/showart.php?id=60958

    添加用户

    要在系统上添加用户:

    1. 使用 useradd 命令来创建一个锁定的用户账号:

      useradd <username>
    2. 使用 passwd 命令,通过指派口令和口令老化规则来给某账号开锁:

      passwd <username>

    useradd 的命令行选项在表 25-1中被列出。

    <>选项 描述
    -c comment 用户的注释。
    -d home-dir 用来取代默认的 /home/ username 主目录。
    -e date 禁用账号的日期,格式为:YYYY-MM-DD
    -f days 口令过期后,账号禁用前的天数(若指定了 0 ,账号在口令过期后会被立刻禁用。若指定了 -1 ,口令过期后,账号将不会被禁用)。
    -g group-name 用户默认组群的组群名或组群号码(该组群在指定前必须存在)。
    -G group-list 用户是其中成员的额外组群名或组群号码(默认以外的)列表,用逗号分隔(组群在指定前必须存在)。
    -m 若主目录不存在则创建它。
    -M 不要创建主目录。
    -n 不要为用户创建用户私人组群。
    -r 创建一个 UID 小于 500 的不带主目录的系统账号。
    -p password 使用 crypt 加密的口令。
    -s 用户的登录 shell,默认为 /bin/bash 。
    -u uid 用户的 UID,它必须是独特的,且大于 499。

    表 25-1. useradd 命令行选项

    添加组群

    要给系统添加组群,使用 groupadd 命令:

    groupadd <group-name>

    groupadd 的命令行选择在表 25-2中被列出。

    <>选项 描述
    -g gid 组群的 GID,它必须是独特的,且大于 499。
    -r 创建小于 500 的系统组群。
    -f 若组群已存在,退出并显示错误(组群不会被改变)。如果指定了 -g 和 -f 选项,而组群已存在, -g 选项就会被忽略。

    表 25-2. groupadd 命令行选项

    口令老化

    为安全起见,要求用户定期改变他们的口令是明智之举。这可以在 用户管理器 「口令信息」 标签上添加或编辑用户时做到。

    要从 shell 提示下为用户配置口令过期,使用 chage 命令,随后使用表 25-3中的选项,以及用户的用户名。

    重要:要使用 chage 命令,屏蔽口令一定要被启用。

    <>选项 描述
    -m days 指定用户必须改变口令所间隔的最少天数。如果值为 0,,口令就不会过期。
    -M days 指定口令有效的最多天数。当该选项指定的天数加上 -d 选项指定的天数小于当前的日期,用户在使用该账号前就必须改变口令。
    -d days 指定自从 1970 年 1 月 1 日起,口令被改变的天数。
    -I days 指定口令过期后,账号被锁前不活跃的天数。如果值为 0,账号在口令过期后就不会被锁。
    -E date 指定账号被锁的日期,日期格式为 YYYY-MM-DD。若不用日期,也可以使用自 1970 年1月1日后经过的天数。
    -W days 指定口令过期前要警告用户的天数。

    表 25-3. change 命令行选项

    窍门:如果 chage 命令后紧跟着用户名(无其它选项),它会显示当前口令的老化数值并运行这些数值被改变。

    如果系统管理员想让用户在首次登录时设置口令,用户的口令可以被设置为立即过期,从而强制用户在首次登录后立即改变它。

    要强制用户在首次登录到控制台时配置口令,请遵循以下步骤。注意,若用户使用 SSH 协议来登录,这个过程就行不通。

    1. 锁住用户的口令 — 如果用户不存在,使用 useradd 命令来创建这个用户账号,但是不要给它任何口令,所以它仍旧被锁。

      如果口令已经被启用,使用下面的命令来锁住它:

      usermod -L username
    2. 强制即刻口令过期 — 键入下面的命令:

      chage -d 0 username

      该命令把口令最后一次改变的日期设置为 epoch(1970年1月1)。不管口令过期策略是否存在,这个值会强制口令立即过期

    3. 给账号开锁 — 达到这一目的有两种常用方法。管理员可以指派一个初始口令或空口令。

      警告:不要使用 passwd 来设置口令,因为它会禁用刚刚配置的口令即刻过期。

      要指派初始口令,遵循以下步骤:

      • 使用 python 命令来启动命令行 python 解释器。它的显示如下:

        Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
        [GCC 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)] on linux2
        Type "help", "copyright", "credits" or "license" for more information. >>>
      • 在提示下,键入以下命令(把 password 替换成要加密的口令,把 salt 替换成恰巧两个大写或小写字母、数字、点字符或斜线字符,譬如 + ab 或 + 12 ):

        import crypt; print crypt.crypt(" password "," salt ")

        其输出的加密口令类似于 12CsGd8FRcMSM 。

      • 键入 [Ctrl] - [D] 来退出 Python 解释器。

      • 把加密口令的输出剪贴到以下命令中(不带头尾的空格):

        usermod -p " encrypted-password " username

      与其指派初始口令,你还可以使用以下命令来指派空口令:

      usermod-p"" username

      小心:使用空口令对用户和管理员来说都很方便,但它却带有一个轻微的危险性——第三方可以会首先登录并进入系统。要减小这种威胁,推荐管理员在给账号开锁的时候校验用户已经做好了登录准备。

      无论是哪一种情况,首次登录后,用户都会被提示输入新口令。

    对进程的解释

    下列步骤演示了在启用屏蔽口令的系统上使用 useradd juan 命令后的情形:

    1. 在 /etc/passwd 文件中新添了有关 juan 的一行。这一行的特点如下:

      • 它以用户名 juan 开头。

      • 口令字段有一个“ x ”,表示系统使用屏蔽口令。

      • 500 或 500 以上的 UID 被创建。(在 Red Hat Linux 中,500 以下的 UID 和 GID 被保留为系统使用。)

      • 500 或 500 以上的 GID 被创建。

      • 可选的 GECOS 信息被留为空白。

      • juan 的主目录被设为 /home/juan/ 。

      • 默认的 shell 被设为 /bin/bash 。

    2. 在 /etc/shadow 文件中新添了有关 juan 的一行。这一行的特点如下:

      • 它以用户名 juan 开头。

      • 出现在 /etc/shadow 文件中口令字段内的两个叹号( !! )会锁住账号。

        注记:如果某个加密的口令使用了 -p 标志被传递,这个口令会被放置在 /etc/shadow 文件中用于该用户的那一行中。

      • 口令被设置为永不过期。

    3. 在 /etc/group 文件中新添了一行有关 juan 组群的信息。和用户名相同的组群叫做 用户私人组群(user private group) 。关于用户私人组群的详情,请参阅第 25.1 节。

      在 /etc/group 文件中新添的这一行具有如下特点:

      • 它以组群名 juan 开头。

      • 口令字段有一个“ x ”,表示系统使用屏蔽口令。

      • GID 与列举 /etc/passwd 文件中用户 juan 行中的相同。

    4. 在 /etc/gshadow 文件中新添了有关 juan 组群的一行。这一行的特点如下:

      • 它以组群名 juan 开头。

      • 出现在 /etc/gshadow 文件中口令字段内的一个叹号( ! )会锁住该组群。

      • 所有其它字段都为空白。

    5. 用于用户 juan 的目录被创建在 /home/ 目录之下。该目录为用户 juan 和组群 juan 所有。它的读写和执行权限仅 为用户 juan 所有。所有其它权限都被拒绝。

    6. /etc/skel/ 目录(包含默认用户设置)内的文件被复制到新建的 /home/juan/ 目录中。

    这时候,系统上就存在了一个叫做 juan 的被锁的账号。要激活它,管理员必须使用 passwd 命令该账号指派一个口令,或者还可以设置口令老化规则。
  • 相关阅读:
    (深入理解计算机系统)内存对齐
    (深入理解计算机系统)AT&T汇编指令
    (深入理解计算机系统)编译,链接和装载
    (C)struct结构体指针
    (linux)BSP板级支持包开发理解
    TortoiseSVN使用笔记
    (linux)idr(integer ID management)机制
    (linux)struct inode 和 struct file
    cygwin使用笔记
    Zookeeper学习总结
  • 原文地址:https://www.cnblogs.com/ungshow/p/1285520.html
Copyright © 2011-2022 走看看