一、Linux用户管理综述
1.1 了解Linux用户
Linux是一个多用户、多任务的的操作系统,为了实现资源管理及出于安全的考虑,需要对用户进行不同权限的分配,同时通过对用户进行划分成组便于更高效地管理用户权限。
Linux 系统在/etc/passwd文件存储了系统中所有用户的基本信息,该文件是系统用户配置文件。/etc/passwd对系统所有用户可读,只有系统管理员才可以修改的。
除了用户信息文件外,系统中记录与用户相关信息的文件还包括:
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);
/etc/group:组及其属性信息;
/etc/shadow:用户密码及其相关属性;
/etc/gshadow:组密码及其相关属性;
/etc/passwd文件内容解读:
root@ecs:~# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
……..
/etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。,每行记录又被冒号(:)分隔为7个字段,其格式 和具体含义如下:
用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
第一列为用户名;
第二列为密码占位符:(x表示该账户需要密码才能登录,为空时,账户无须密码即可登录),
第三列为用户的UID:每个用户都有唯一的一个 UID,Linux 系统通过 UID 来识别不同的用户,UID 就是一个 0~65535 之间的数,不同范围的数字表示不同的用户身份;
第七列为账户登录Shell:/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。
另外可以看到,除了常见的root等用户外,Linux 系统中默认会创建一些系统或服务正常运行所必需的用户,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求,这种用户通常称为系统用户或伪用户。系统用户无法用来登录系统,但也不能删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
常见的伪用户有:
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
nobody NFS使用