Linux 用户passwd文件详解

来源:互联网 发布:华为程序员 编辑:程序博客网 时间:2024/05/22 13:38

用户管理有两个最重要的配置文件,一个是保存用户信息的文件/etc/passwd,一个是保存了用户密码的文件/etc/shadow


超级用户的uid0,在/etc/passwd里面有很多伪用户,这些用户是不能登入的,他们的uid1-499之间,安装完系统就缺省的添加了这些用户。

UID0的用户就是超级用户。

/etc/passwd test:x:1002:1003::/home/test:/bin/bash将其改为test:x:0:1003::/home/test:/bin/bash

[root@centos oracle]# su - test

上一次登录:一 1225 21:22:01 CST 2017pts/0

[root@centos ~]#

可以看到test用户变为了超级用户,权限和root一样。

在使用useradd添加的用户是普通用户,在系统安装完毕在/etc/passwd里面就有许多用户,这里面有很多用户并不是真正可以登入系统和使用的。




root@localhost ~]# head  -n 5 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

oracle:x:1001:1001:/home/oracle:/bin/bash

/etc/passwd里面保存了每一个用户的信息,可以使用man 5 passwd来查看配置文件帮助。

 (密码文件)里每行一条记录,并且每行有这样的格式:

account:password:UID:GID:GECOS:directory:shell(帐号:密码:用户ID:ID:一般的信息:目录:shell

       字段描述如下:

 

              account   使用者在系统中的名字,它不能包含大写字母.

 

              password  加密的用户密码,或者星号。

 

              UID       用户ID 数。

 

              GID       用户的主要组ID 数。

 

              GECOS     这字段是可选的,通常为了存放信息目的而设的. 通常,它包含了用户的全名. GECOS意思是通用电气综合操作系统(General Electric Comprehen

                        sive    Operating    System,    当     GE     的大型系统部分割售卖给     Honeywell     时它被改为     GCOS.     Dennis     Ritchie

                        作过报告:"有时我们发送印刷品或批道作业到GCOS机器时,gcos字段打断了 $IDENT卡的信息,不太美观。"

 

              directory用户的 $HOME 目录.

 

              shell     登录时运行的程序(如果空的,使用/bin/sh).  如果设为不存在的执行(程序),用户不能通过login(1) 登录.

在密码位的地方没有存储密码。在linux里面内核只认识数字,不认识密码,


伪用户一般分为两种,一种是与linux系统相关的,一种是与程序服务相关的。比如使用shutdown关机的时候就会调用伪用户的身份。在linux系统里面任何一个进程操作都必须有一个用户身份,这个就通过调用伪用户。比如安装了apachehttp的进程,启动以后也要对应一个用户身份,但是不能对应root启动这个进程,如果别人得到这个进程相当于窃取到管理员root的权限,这样很危险,所以都是通过一些伪用户,添加一些服务的伪用户,比如apache,mysql。这些实际上是这些进程启动之后调用的用户身份

所以伪用户最大的作用就是在一些系统操作或一些应用服务的调用的身份而已。

 

用户组是同样类型用户的集合,一个用户可以属于多个用户组,比如有一个用户叫张三,可以让其管理FTP server又可以管理web server,可以让其同时属于这两个组。但是总要有一个缺省的组,UID就是定义缺省组的组id,添加一个一个用户的时候如果不指定缺省组,默认创建一个和用户名称相同的组并且将用户添加进去。

在实际当中,添加一个用户必须指定所在的组。

一个用户属于某个组就拥有这个组的权限。所以用户加入组就是让用户享有这个组的权限。

 

描述信息,这个部分可以写内容也可以不写,就是用来描述用户信息的,建议在添加用户的时候写上用户的描述信息。

 

每一个普通用户必须要有一个宿主目录来存放基本信息,比如环境设置的选项,如果创建用户不指定宿主目录,那么就会在/home下面创建和用户同名的宿主目录。

 

普通用户使用的缺省shell就是bashshell

 

如果真的要将linux做一个服务器,那么密码最好使用8位或者8位以上的,大小写数字字母的组合来组成密码。Unix最早采用的加密算法是des,但是des识别的密码位只有8位,现在使用的linux大多数时候使用的是desmd5混合使用的,md5255位的。

Md5进行密码的加密,MD5算法对密码的加密规则,第一个,输入的长度不固定但是输出的长度是固定的,不管输入的密码长度是6位的还是8位的,生成的加密的密码是固定长度的值,单向不可逆的,无法通过输出推算出输入的值。

 

[root@centos oracle]# echo "123456" | md5sum

f447b20a7fcbf53a5d5be013ea0b15af  -

[root@centos oracle]# echo "1" | md5sum

b026324c6904b2a9cb4b88d6d61c81d1  -

可以看到不同长度的密码最终生成的密文都是同等长度的,在设置密码的时候强度要足够同时应该经常修改密码。

 

为什么不在/etc/passwd里面密码位放上用户的加密密码。

因为在/tec/passwd里面保存了用户的信息,有很多命令在使用的过程当中会调用这些信息,调用这些信息就需要/etc/passwd这个文件。所以查看/etc/passwd文件会发现每一个用户对其都有一个读的权限,那么将加密密码放在这里每个人都可以拿到加密过后的密码去尝试破解,这样就危险了。(用户密码是存放在/etc/shadow里面)

[root@centos oracle]# ls -ld /etc/passwd

-rw-r--r--. 1 root root 2459 1225 21:25 /etc/passwd





阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电线l和n表示 电线l和n代表什么 ln的值 lp700 lp610 lp. .lp gp lp 查lp lp地址查询 lp什么意思 lp是什么意思 lp是什么牌子 lp查询 lp地址查询查询本机 lp68级防水能防多少水 lp仿传奇 lp运动护膝 lp是什么 lp啥意思 gp什么意思 lp护膝 gp是什么意思 lp地址是什么 lp球杆 gp lp护具 lp桌球杆 lp旅行 黑胶lp 黑胶lp唱片 lp摄像头 lp黑胶唱机 lp指什么 lr lr左右 耳机lr lr软件 怀旧服lr天赋 怀旧服lr lr那个左那个右