一. 账户和密码
对Linux而言有两种账户的概念,一个是用户的账户,一个是组账户。
1.1 用户的账户和密码
用户的账户,主要是用户登录系统后的一个标示,主要的相关文件有:
/etc/passwd 和 /etc/shadow
两个文件。其中/etc.passwd中存放的用户名等信息,/etc/shadow中主要存放加密之后
的用户密码。用户名信息存储在 /etc/passwd文件中:
ville:x:500:500:ville lee:/home/ville:/bin/bash
root : x : 0 : 0 : root : /root : /bin/bash
用户名 :密码 : 用户ID : 组ID : 注释 : 起始工作目录 : 使用的shell
bin:x:1:1:bin:/bin:/sbin/nologin
其中的nologin是防止bin用户登录的一种手段。
用户的密码已经转移到一个单独的文件中,/etc/passwd文件中。
ville:$6$rpT.H4FMfUL59v8n$82PMHgMr0Z7i2S7FYQ8wY13jnc62Sb5jFd7UT5XpP1RkOJ9xhwIpE9JzgNXYTab3mkUKpZmLO6tgsHnJSmXrz0:15090:0:99999:7:::
root:$6$FvqT7ZW6QH39hST7$bPtMWodjtQX9Bk4KWHJ3OMiXyJzyF7bAiOUFYoy0t8zMt1hCU.p2kUFq/rGFgcYGsOxlj80Vb57FkeslCN28H0:15090:0:99999:7:::其中各个字段的意义:
用户名:用户的帐户名
口令:用户的口令,是加密过的
最后一次修改时间:从1970年1月1日起,到用户最后一次更改口令的天数
最小时间间隔:从1970年1月1日起,到用户可以更改口令的天数
最大时间间隔:从1970年1月1日起,到用户必须更改口令的天数(99999表示不需要变更)
警告时间:在用户口令过期之前多少天提醒用户更新
不活动时间:在用户口令过期之后到禁用帐户的天数
失效时间:从1970年1月1日起,到帐户被禁用的天数
标志:保留位
useradd :添加用户
adduser :添加用户
passwd :为用户设置密码
usermod :修改用户命令,可以通过usermod 来修改登录名、用户的工作目录等等;
pwcov :同步用户从/etc/passwd 到/etc/shadow
pwck :pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv :是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,
然后会删除 /etc/shadow 文件;
finger :查看用户信息工具
id :查看用户的UID、GID及所归属的用户组
chfn :更改用户信息工具
su :用户切换工具
1.2 组的账户和密码
/etc/group主要用来标识
root : x : 0 : root
组名称 密码 GID 组成员
一个用户可以属于多个组,但是之前看到,在/etc/passwd中,一个用户只是绑定了一个组ID。
这个组叫做默认组,也就是用户登录系统之后,默认所属于的组,当用户需要其他组权限去访问文件
的时候,就需要使用newgrp命令更改自己当前的用户组来获得权限。
同上面一样,组的密码也保存在另外一个加密过的文件中 /etc/gshadow文件中。 root : : : root
组名称 密码 管理员帐号 组成员
groupadd :添加用户组;
groupdel :删除用户组;
groupmod :修改用户组信息
groups :显示用户所属的用户组
二. 用户的工作目录模板
/etc/skel 是在Red Hat系列的Linux中的默认用户工作目录的模板。
[root@localhost etc]# ls -al /etc/skel/
total 36
drwxr-xr-x. 4 root root 4096 Apr 27 01:12 .
drwxr-xr-x. 124 root root 12288 Jul 4 21:07 ..
-rw-r--r--. 1 root root 18 Jun 22 2010 .bash_logout
-rw-r--r--. 1 root root 176 Jun 22 2010 .bash_profile
-rw-r--r--. 1 root root 124 Jun 22 2010 .bashrc
drwxr-xr-x. 2 root root 4096 Sep 29 2010 .gnome2
drwxr-xr-x. 4 root root 4096 Apr 27 00:47 .mozilla
当管理员需要手工创建用户工作目录的时候,可以直接将其复制。
三. 创建用户时的默认规则
/etc/login.defs文件,就是创建用户时的规则模板。root用户可以更改它。
比对着之前的/etc/passwd文件,可以很容易看出其中的含义:
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIRMaildir
MAIL_DIR/var/spool/mail
#MAIL_FILE.mail
# Password aging controls:
#
#PASS_MAX_DAYSMaximum number of days a password may be used.
#PASS_MIN_DAYSMinimum number of days allowed between password changes.
#PASS_MIN_LENMinimum acceptable password length.
#PASS_WARN_AGENumber of days warning given before a password expires.
#
PASS_MAX_DAYS99999
PASS_MIN_DAYS0
PASS_MIN_LEN5
PASS_WARN_AGE7
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500
UID_MAX60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500
GID_MAX60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD/usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOMEyes
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512
通过useradd 添加用户时的规则文件;/etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home ##在/home目录下创建目录
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel ##将/etc/skel目录中的内容作为创建用户工作目录的模板
CREATE_MAIL_SPOOL=yes