Linux是个多用户多任务的分时操做系统,全部一个要使用系统资源的用户都必须先向系统管理员申请一个账号,而后以这个账号的身分步入系统。用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制她们对系统资源的访问;另外一方面也能帮助用户组织文件,并为用户提供安全性保护。每一个用户账号都拥有一个惟一的用户名和用户口令。用户在登入时键入正确的用户名和口令后,才会步入系统和本身的主目录。vim
实现用户账号的管理,要完成的工做主要有以下几个方面:安全
a.用户账号的添加、删除和更改。bash
b.用户口令的管理。服务器
c.用户组的管理。网路
基于账户身分对资源访问进行控制:ide
-账户类别:用户账户,组账号ui
-辨识方法:UID,GIDthis
用户账号:加密
-超级账户root,系统用户,普通用户spa
组账号:
-基本组(私有组)
-附加组(公共组)
账号数据的储存
-存贮在本机c盘中-----本地账号
-储存在网路上专门的服务器-----网路账号
本地账号的数据文件:
-/etc/default/useradd#默认配置文件、用户添加的设置
-/etc/login.defs#默认配置文件linux怎么读,密码有效期控制
-/etc/passwd#保存用户账号的基本信息
-/etc/shadow#保存用户密码字串/有效期等信息
-/etc/group#保存组账号的基本信息
-/etc/gshadow#保存组密码字串/有效期等信息
各个配置文件解说以下:
[root@localhost~]#cat/etc/default/useradd
1)#useradddefaultsfile
2)GROUP=100
3)HOME=/home
4)INACTIVE=-1
5)EXPIRE=
6)SHELL=/bin/bash
7)SKEL=/etc/skel
8)CREATE_MAIL_SPOOL=yes
解释:
1)useradd默认文件
2)表示可构建普通组
3)用户的家目录建在/home中;用户家目录的默认完善地
4)是否启用帐号过时停权,-1表示不启用;宽限天数,0及如下数皆为无效数字
5)帐号中止日期linux创建用户组和用户,不设置表示不启用;帐号失效日期(如:20081212)
6)所用SHELL的类型;登入后执行的程序
7)用户家目录中的环境文件,默认添加用户的目录默认文件储存位置;也就是说,当俺们用useradd添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
8)是否构建用户电邮缓冲,yes表示构建
login.defs是设置用户帐号限制的文件,在这儿俺们可配置密码的最大过时天数,密码的最大宽度约束等内容。该文件里的配置对root用户无效。若是/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级低于/etc/login.defs
[root@localhost~]#cat/etc/login.defs
#*REQUIRED*
#Directorywheremailboxesreside,_or_nameoffile,relativetothe
#homedirectory.Ifyou_do_defineboth,MAIL_DIRtakesprecedence.
#QMAIL_DIRisforQmail
#
#QMAIL_DIRMaildir
MAIL_DIR/var/spool/mail#指定电邮目录
#MAIL_FILE.mail
#Passwordagingcontrols:
#
#PASS_MAX_DAYSMaximumnumberofdaysapasswordmaybeused.
#PASS_MIN_DAYSMinimumnumberofdaysallowedbetweenpasswordchanges.
#PASS_MIN_LENMinimumacceptablepasswordlength.
#PASS_WARN_AGENumberofdayswarninggivenbeforeapasswordexpires.
#
PASS_MAX_DAYS99999#密码最大有效期
PASS_MIN_DAYS0#两次更改密码的最小间隔时间
PASS_MIN_LEN5#密码最小宽度,对于root无效
PASS_WARN_AGE7#密码过时前多少天开始提示
#
#Min/maxvaluesforautomaticuidselectioninuseradd
#
UID_MIN500#用户ID的最小值
UID_MAX60000#用户ID的最大值
#
#Min/maxvaluesforautomaticgidselectioningroupadd
#
GID_MIN500#组ID的最小值
GID_MAX60000#组ID的最大值
#
#Ifdefined,thiscommandisrunwhenremovingauser.
#Itshouldremoveanyat/cron/printjobsetc.ownedby
#theusertoberemoved(passedasthefirstargument).
#
#USERDEL_CMD/usr/sbin/userdel_local#当删掉用户的时侯执行的脚本
#
#Ifuseraddshouldcreatehomedirectoriesforusersbydefault
#OnRHsystems,wedo.Thisoptionisoverriddenwiththe-mflagon
#useraddcommandline.
#
CREATE_HOMEyes#使用useradd的时侯构建用户目录
#Thepermissionmaskisinitializedtothisvalue.Ifnotspecified,
#thepermissionmaskwillbeinitializedto022.
UMASK077#权限网段初始化值
#Thisenablesuserdeltoremoveusergroupsifnomembersexist.
#
USERGROUPS_ENAByes#使用userdel删掉时,是否会删掉初始群组
#UseMD5orDEStoencryptpassword?RedHatuseMD5bydefault.
MD5_CRYPT_ENAByes#用MD5加密密码
ENCRYPT_METHODMD5
[root@localhost~]#head-2/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
解释:每一个用户记录一行,以":"分割为7个数组
数组1:用户账号的名称
数组2:密码字串或占位符“x”
数组3:用户账号的UID
数组4:所属基本组的IGD号
数组5:用户全名
数组6:寄主目录
数组7:登入Shell程序的路径
[root@localhost~]#head-2/etc/shadow
root:$1$Rlzv9ejD$9kiOFhTnlHNwOzbR.OpvA0:16242:0:99999:7:::
bin:*:16242:0:99999:7:::
解释:每一个用户记录一行,以":"分割为9个数组
数组1:用户账号的名称
数组2:加密后的密码字符串
数组3:先前更改密码的时间
数组4:密码的最短有效天数,默认为“0”天
数组5:密码的最长有效天数,默认99999天
数组6:密码过时前的警告天数,默认7天
数组7:密码过时后多少天禁用此用户账号
数组8:账号失效时间,默认值为空
数组9:保留数组(未使用
[root@localhost~]#head-2/etc/group
root:x:0:root
bin:x:1:root,bin,daemon
解释:每一个用户记录一行,以":"分割为4个数组
数组1:用户组名称;
数组2:用户组密码;
数组3:GID
数组4:用户列表puppy linux,每一个用户之间用,号分割;本数组才能为空;若是数组为空表示用户组为GID的用户名
[root@localhost~]#head-2/etc/gshadow
root:::root
bin:::root,bin,daemon
解释:每一个用户记录一行,以":"分割为4个数组
数组1:用户组名
数组2:用户组密码
数组3:用户组管理员的名称
数组4:支持的账号名称
/etc/skel目录
/etc/skel目录中包含的文件和目录会手动复制到新用户的主目录时这样的用户由程序构建的useradd。
主目录,俗称为登录的目录,是在unix操做系统上,做为对用户的我的文件、目录和程序,包括我的配置文件储存库中的目录。它也是用户是在第一次登录到系统后的目录。/etc目录和其子目录中包含系统的不少重要的配置文件。
Useradd程序坐落/usr/sbin/目录linux创建用户组和用户,并在大多数系统上,它是只能由根访问(即行政)用户。在个别系统上此程序可能会调用useradd。
/etc/skel允许系统管理员构建默认的主目录为全部新用户计算机或网路上,因而确保全部用户都开始用相同的设置或环境。
几个用户的配置文件置于/etc/skel,默认状况下在安装操做系统时。通常,它们可能包括.bash_profile.bashrc、.bash_logout、dircolors、.inputrc、.vimrc。上面的那些文件的名称,点代表她们是隐藏的文件,即,不是为了不视觉上的混乱和帮助减非非外受损的可能性通常可见的文件。
即用其-a选项,该选项显示全部文件和目录,包括隐藏的),使用ls(即,列表)命令才能查看/etc/skel的内容
ls-a/etc/skel
才能经过编辑与SKEL开头的行修改位置的skel=在配置文件/etc/default/useradd中。默认状况下这条线说SKEL=/etc/skel。
它是通常最好保持/etc/skel到全局配置文件,如/etc/profile小如可能,并将全系统的配置项。这是因为前者促使它更容易更新现有的用户文件,因为它的设置生效,尽早的系统打开并将应用于新用户和老用途一致好评。
当由管理员使用userdel命令从系统删掉用户时,该用户的主目录,包括文件和目录的已复制到它从/etc/skel,保持不变。
目录skel名称来自字骨架,因为文件它包含窗体的基本结构为用户的主目录。
用户的初始配置文件