linux配置文件之etcpasswd详解

linux配置文件之etcpasswd详解,第1张

用户信息文件存放路径:/etc/passwd

通过 # cat /etc/passwd命令来查看/etc/passwd配置文件的信息如下:

以root用户信息为例: root:x:0:0:root:/root:/bin/bash共7个字段,并以:进行了分割

Linux用户分为三种:

超级用户(root,UID=0)

普通用户(UID 500-60000)

伪用户(UID 1-499)

所以,在linux里面,只要UID为0的用户就是超级用户也就是你想把哪个普通用户升级为超级用户,只需要把他的UID改为0就可以了

在创建用户时,默认生成的UID都是在500-60000之间,如果要指定UID,也同样要遵守这个规则,已经存在的UID,不能重复指定.

伪用户就是用来被系统调用的用户.

--与系统和程序服务相关比如,bin、shutdown等

--任何linux系统默认都有这些伪用户mail、news、games、apache、ftp、mysql等

--与linux系统的进程相关

伪用户通常不需要或无法登录系统,并且伪用户可以没有宿主目录.

关于用户组(GID)

--每个用户都至少属于一个用户组

--每个用户组可以包括多个用户

--同一用户组的用户享有该组共有的权限

注释性描述,主要是创建用户时,对这个用户进行的一个信息备注,以便识别

查看有无此用户信息,可以执行grep 用户名 /etc/passwd

/etc/passwd

该目录存储的是 *** 作系统用户信息,该文件为所有用户可见。

给linux系统添加一个帐号:

useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test)

然后进入 /etc/passwd,可以看到如下信息,在最后一行可以看到刚加的用户的信息。如下

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin

webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin

squid:x:23:23::/var/spool/squid:/sbin/nologin

pcap:x:77:77::/var/arpwatch:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin

gdm:x:42:42::/var/gdm:/sbin/nologin

hzmc:x:500:500:hzmc:/home/hzmc:/bin/bash

mysql:x:501:501::/home/mysql:/bin/bash

chenhua:x:503:501::/home/chenhua:/bin/bash

test:x:504:501::/home/test:/bin/bash

可以看出/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下

(1):用户名。

(2):密码(已经加密)

(3):UID(用户标识), *** 作系统自己用的

(4):GID组标识。

(5):用户全名或本地帐号

(6):开始目录

(7):登录使用的Shell,就是对登录命令进行解析的工具。

下面为test用户设置密码,执行如下命令

passwd test

[root@localhost etc]# passwd test

Changing password for user test.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost etc]#

然后进入/etc/shadow文件下面可以看到如下信息

gdm:!!:14302:0:99999:7:::

hzmc:$1$JZMjXqxJ$bvRpGQxbuRiEa86KPLhhC1:14302:0:99999:7:::

mysql:!!:14315:0:99999:7:::

chenhua:$1$YBJZNyXJ$BnpKFD58vSgqzsyRO0ZeO1:14316:0:99999:7:::

test:$1$hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7:::

可以发现,共有9个栏目

(1):帐号名称

(2):密码:这里是加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用来登录)

(3):上次修改密码的日期

(4):密码不可被变更的天数

(5):密码需要被重新变更的天数(99999表示不需要变更)

(6):密码变更前提前几天警告

(7):帐号失效日期

(8):帐号取消日期

(9):保留条目,目前没用

准备工作:安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo apt-get install libpam-cracklib

CentOS、Fedora、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的 *** 作。

为了强制实施密码策略,我们需要修改 /etc/pam.d 目录下的 PAM 配置文件。一旦修改,策略会马上生效。

注意:此教程中的密码策略只对非 root 用户有效,对 root 用户无效。

禁止使用旧密码

找到同时有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

设置最短密码长度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10”

的那行,它表示最小密码长度为(10 - 类型数量)。这里的 “类型数量” 表示不同的字符类型数量。PAM

提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen

设为10,那么最短的密码长度允许是6个字符。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password

CentOS、Fedora、RHEL 系统上:

$ sudo vi /etc/pam.d/system-auth

设置密码复杂度

找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2

dcredit=-1 ocredit=-1”

的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号

(ocredit)。

Debian、Ubuntu 或 Linux Mint 系统上:

$ sudo vi /etc/pam.d/common-password


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8143612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存