设为首页 加入收藏

TOP

Linux学习-账号管理(二)
2017-10-16 18:20:43 】 浏览:2262
Tags:Linux 学习 账号 管理
号的初始群 组为 users 这一个的意思。 但是我们知道 CentOS 上面并不是这样的,在 CentOS 上面预设的 群组为与账号名相同的群组。怎么会这样啊?这是因 为针对群组的角度有两种不同的机制所致, 这两种机制分别是:

  • 私有群组机制:

系统会建立一个与账号一样的群组给使用者作为初始群组。 这种群组的设定机制会比较有保密性, 这是因为使用者都有自己的群组,而且家目录权限将会设定为 700 (仅有自己可进入自己的家目录) 之故。使用这种机制将不会参考 GROUP=100 这个设定值。代表性的 distributions 有 RHEL, Fedora, CentOS 等;

  • 公共群组机制:

就是以 GROUP=100 这个设定值作为新建账号的初始群组,因此每个账号都属于 users 这个群组, 且默认家目录通常的权限会是『 drwxr-xr-x ... username users ... 』,由于每个账号都属于 users 群组,因此大家都可以互相分享家目录内的数据之故。代表 distributions 如 SuSE 等。

  • HOME=/home:用户家目录的基准目录(basedir)

用户的家目录通常是与账号同名的目录,这个目录将会摆放在此设定值的目录后。

  • INACTIVE=-1:密码过期后是否会失效的设定值

我们在 shadow 文件结构当中谈过,第七个字段的设定值将会影响到密码过期后, 在多久时间内 还可使用旧密码登入。这个项目就是在指定该日数啦!如果是 0 代表密码过期立刻失效, 如果 是 -1 则是代表密码永远不会失效,如果是数字,如 30 ,则代表过期 30 天后才失效

  • EXPIRE=:账号失效的日期

就是 shadow 内的第八字段,你可以直接设定账号在哪个日期后就直接失效,而不理会密码的问题。通常不会设定此项目。

  • SHELL=/bin/bash:默认使用的 shell 程序文件名

系统默认的 shell 就写在这里。假如你的系统为 mail server ,你希望每个账号都只能使用 email 的收发信件功能, 而不许用户登入系统取得 shell ,那么可以将这里设定为 /sbin/nologin ,如此 一来,新建的使用者预设就无法登入! 也免去后续使用 usermod 进行修改的手续!

  • SKEL=/etc/skel:用户家目录参考基准目录

这个咚咚就是指定用户家目录的参考基准目录啰~举我们的范例一为例, vbird1 家目录 /home/vbird1 内的各项数据,都是由 /etc/skel 所复制过去的~所以呢,未来如果我想要让新增使 用者时,该用户的环境变量 ~/.bashrc 就设定妥当的话,您可以到 /etc/skel/.bashrc 去编辑一下, 也可以建立 /etc/skel/www 这个目录,那么未来新增使用者后,在他的家目录下就会有 www 那
个目录了!

  • CREATE_MAIL_SPOOL=yes:建立使用者的 mailbox

你可以使用『 ll /var/spool/mail/vbird1 』看一下,会发现有这个文件的存在喔!这就是使用者的邮件信箱!

除了这些基本的账号设定值之外, UID/GID 还有密码参数又是在哪里参考的呢?那就得要看一下 /etc/login.defs 啦!

MAIL_DIR /var/spool/mail <==用户默认邮件信箱放置目录

PASS_MAX_DAYS 99999 <==/etc/shadow 内的第 5 栏,多久需变更密码日数
PASS_MIN_DAYS      0 <==/etc/shadow 内的第 4 栏,多久不可重新设定密码日数
PASS_MIN_LEN        5 <==密码最短的字符长度,已被 pam 模块取代,失去效用!
PASS_WARN_AGE    7 <==/etc/shadow 内的第 6 栏,过期前会警告的日数

UID_MIN               1000 <==使用者最小的 UID,意即小于 1000 的 UID 为系统保留
UID_MAX             60000 <==使用者能够用的最大 UID
SYS_UID_MIN         201 <==保留给用户自行设定的系统账号最小值 UID
SYS_UID_MAX        999 <==保留给用户自行设定的系统账号最大值 UID
GID_MIN               1000 <==使用者自定义组的最小 GID,小于 1000 为系统保留
GID_MAX             60000 <==使用者自定义组的最大 GID
SYS_GID_MIN       201 <==保留给用户自行设定的系统账号最小值 GID
SYS_GID_MAX      999 <==保留给用户自行设定的系统账号最大值 GID

CREATE_HOME    yes <==在不加 -M 及 -m 时,是否主动建立用户家目录?
UMASK                077 <==用户家目录建立的 umask ,因此权限会是 700
USERGROUPS_ENAB yes <==使用 userdel 删除时,是否会删除初始群组
ENCRYPT_METHOD   SHA512 <==密码加密的机制使用的是 sha512 这一个机制!

这个文件规范的数据则是如下所示:

  • mailbox 所在目录:

用户的默认 mailbox 文件放置的目录在 /var/spool/mail,所以 vbird1 的 mailbox 就是在 /var/spool/mail/vbird1。

  • shadow 密码第 4, 5, 6 字段内容:

透过 PASS_MAX_DAYS 等等设定值来指定的!所以你知道为何预设的 /etc/shadow 内每一行都会有『 0:99999:7 』的存在了吗?不过要注意的是,由于目前我们登入时改用 PAM 模块来进行密码检验, 所以那个 PASS_MIN_LEN 是失效的!

  • UID/GID 指定数值:

虽然 Linux 核心支持的账号可高达 232 这么多个,不过一部主机要作出这么多账号在管理上也是很麻烦的! 所以在这里就针对 UID/GID 的范围进行规范就是了。上表中的 UID_MIN 指的就是可登入系统的一般账 号的最小 UID ,至于 UID_MAX 则是最大 UID 之意。

要注意的是,系统给予一个账号 UID 时,他是 (1)先参考 UID_MIN 设定值取得最小数值; (2)由 /etc/passwd 搜寻最大的 UID 数值, 将 (1) 与 (2) 相比,找出最大的那个再加一就是新账号的 UID 了。

而如果我是想要建立系统用的账号,所以使用 useradd -r sysaccount 这个 -r 的选项时,就会找『比 201 大 但比 1000 小的最大的 UID 』

  • 用户家目录设定值:

为何我们系统默认会帮用户建立家目录?就是这个『CREATE_HOME = yes』的设定值啦!这个设定值会让 你在使用 useradd 时, 主动加入『 -m 』这个产生家目录的选项啊!如果不想要建立用户家目录,就只能强制加上『 -M 』的选项在 useradd 指令执行时啦!至于建立家目录的权限设定呢?就透过 umask 这个设 定值啊!因为是 077 的预设设定,因此用户家目录默认权限才会是『 drwx------ 』。

  • 用户删除与密码设定值:

使用『USERGROUPS_ENAB yes』这个设定值的功能是: 如果使用 userdel 去删除一个账号时,且该账号 所属的初始群组已经没有人隶属于该群组了, 那么就删除掉该群组,至于『ENCRYPT_METHOD SHA512』则表示使用 SHA512 来加密密码明文,而不使用旧式的 MD5。

使用 useradd 这支程序在建立 Linux 上的账号时,

首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux命令学习:tar 下一篇centos 7.0 搭建LAMP环境

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目