4.17 定制用户环境1./etc/skel目录
/etc/skel目录里的内容是新添加用户的家目录的默认模板,如果你喜欢去定制你的用户的环境,你可以修改这个目录。例如:如果你想提供一个电话表给每个用户,你能在这个目录里添加一个文件。新用户将因此有这个文件的拷贝在他们的家目录里,你也能够去建立一个用户,使用命令:useradd -k并为新用户指定一个不同的模板目录,而没有那个电话拷贝给新用户。
2./etc/profile脚本
用户每次登录进入系统时,/etc/profile 文件都被执行,它将为用户设置环境变量,例如: HISTSIZE 和MAIL。这是在登录时第一个被执行的脚本,下一个是运行用户的~/.bashrc_profile脚本。典型的调用~/bashrc和/etc/bashrc。/etc/profile包含系统的环境设置,无论是在这儿添加或删除什么对所有用户都有影响。-理(续
3./etc/profile.d目录
/etc/profile.d目录包含初始化脚本,具体地由rpm 软件包安装。这些脚本由/etc/profile 在登录时调用,或者如果通过一个非交互式登录shell调用/etc/bashrc。
4./etc/bashrc脚本
/etc/bashrc脚本设置系统的全局符和别名。它允许系统管理员为每名用户设置别名,好像命令行历史。这个脚本通常由用户的~/.bashrc 文件调用。
4.18 定制用户环境(继续)1.~/. bashrc
这个文件包含用户的别名和功能(函数)
~/.bashrc 允许用户去定制他们自己的别名和功能(函数),没有系统管理员的干涉。无论何时用户启动非登录交互式shell , 此文件都将被执行,并且无论何时,用户进入系统,默认用户的~/.bash_profile脚本也调用此文件。-理(续
例如: Red Hat Linux的命令ls –l --color=tty的别名为ll 。如果用户想让命令ls -laf --color的别名为ll,照样可以做到,将这个别名添加到~/.bashrc脚本中,然后是source.bashrc脚本。每次用户启动一个交互式shell时, 个性化的别名将被设置并且优先于系统别名设置。-理(续
2.~/.bash_profile
这个文件包含用户环境设置。
~/.bash_profile被在每次登录时执行。它通常被用来设置环境变量和在登录时启动某个程序,同样反对你每次都打开一个终端窗口。
4.19 本单元出现的重要文件和命令1.重要文件
/etc/passwd
/etc/group
/etc/shadow
/etc/skel
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
2.重要命令
useradd usermod userdel
groupadd groupmod groupdel
chage
authconfig
chown
chgrp
chmod
umask
su
4.20 部分命令、文件详解1. useradd
功能:建立用户账号:
语法:useradd[--mMnr] [-c<备注>] [--f< 登录目录>] [- e< 有效期限>]
[-f<缓冲天数>] [-g<组>] [-G<组>=]
[-s<shell>] [-u<uid>] [ 用户账号]
补充说明:usreradd 可用来建立用户账号。账号建好之后,可用passwd 设置账号的密码,可用usderdel删除账号。
参数:
-C<备注> 加上备注文字.备注文字会存储在passwd 的备注字段中。
-d<登录目录> 指定用户登录时的起始目录。
-e<有效期限> 指定账号的有效期限。<有效期限>格式为月/日/年后两位。
-f < 缓冲天数> 指定在密码过期后多少天即关闭该帐号。
-g <组> 指定用户所属组。
-G 指定用户所述附加组。
-m 自动建立用户的登录目录。
-M 不要自动建立用户的登录目录。
-n 不建立以用户名称为名的组。
-r 建立系统账号。
-s<shell> 指定用户登录后所使用的shell。
-u<uid> 指定用户ID。
-D 变更默认值。默认值的选项说明如下:
-b < 用户目录> 在指定的《用户目录》下,建立所有用户的《登录目录》。默认值为/home
-e < 有效期限> 指定默认帐号的有效期限。
-f < 缓冲天数> 指定在密码过期后多少天即关闭该帐号。
-g< 组> 指定用户所属组。
-G< 用户目录> 指定用户所述附加组。
-s< 用户目录> 指定用户登录后所使用的shell。
2. usermod
功能:修改用户账号。
语法:usermod [-LU] [-c<备注>] [-d< 登录目录>] [- e< 有效期限>]
[-f<缓冲天数>] [-g<组>][-G<组>] [-L <帐号名称>] [-S<shell>[-U<uid>] 用户账号
补充说明:usermod 可用来修改用户账号的各项设置。
参数:
-l< 账号名称 > 修改用户号名称
-L 锁定用户密码,使密码无效。
-U 解除密码锁定。
其他参数同useradd
3. userdel
功能:删除用户账号
语法:userdel -r[用户账号]
补充说明:userdel可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
参数:
-r删除用户登录目录。以及目录中所有文件。
4. groupadd
功能:创建组
语法:group [-fr] [-g<组级别码><-o> [组名称]
参数:
-f 强制创建已存在的组
-g< 组识别码> 设置新创建组识别码,没有此参数则从500开始,500以内保留给系统服务账号使用。
-o 仅与-g共同使用有效.重复使用识别码。
-r创建系统组.
5. groupdel
功能:删除组
补充:必须先删组内用户,再删组。
6. groupmod
功能:更改组识码或名称
语法:groupmod [-g<组识别码-0>=][-n<新组名称> [组名称]
7. chage
功能:打开密码老化
语法: chage [option] username
选项:
-m 在修改密码之前的最小日期
-M 在修改密码之前的最大日期
-I 锁定账号在密码期满多少天之前
-E date 密码在此日期期满
-W 需要修改密码多少天之前开始警告
8. chown
功能:变更文件工目录的所有者或所属组.
9. Charp
功能:变更文件或目录的所属组
10. chmod
功能:变更文件工目录的权限.
11. umask
功能:指定建立文件时默认的权限掩码.
12. Su
功能:变更用户身份
语法:su[ -c< 指令>] [-s<shell>] [ 用户账号]
参表
-c<指令>执行完指定的指令后,即恢复原来身份.
-s<shell> 指定要执行的shell
[用户账号]若不指定,默认变更为root。
13.密码存储文件/etc/shadow
⑴ Red Hat Linux默认将用户密码存储在/etc/shadow文件中。Passwd文件默认权限为644,shadow文件默认权限为400。Shadow文件支持密码过期设定功能,其中每一行表示一个系统用户的密码记录,用:分隔。用户可以通过authconfig来设定是否使用shadow文件及md5加密。-理(续
⑵ shadow文件的每一行中的每一项说明:
① 登录名
② 用户密码(一般经md5加密)
③ 从1970年1月1日起到密码上一次被更改的时间
④ 密码再过几天被变更(0表示随时可变更)
⑤ 密码再过几天必须被变更(99999表示永不过期)
⑥ 密码过期前几天系统提醒用户(默认为一周)
⑦ 密码过期几天后帐号被取消
⑧ 从1970年1月1日算起,多少天后帐号失效。
⑶ 举例:
#cat /etc/shadow
root:$1$.iangnXk$qpF6VUds4fr1NlclK6dhM/:12630:0:99999:7:::
bin:*:12630:0:99999:7:::
daemon:*:12630:0:99999:7:::
adm:*:12630:0:99999:7:::
lp:*:12630:0:99999:7:::
lijun:$1$vLw60sFN$cZHcvKsE61iTrDLEbklN0.:12630:0:99999:7:::
你会在/etc/login.defs中看到这样的规定:
# Password aging controls:
# 密码老化控制
# PASS_MAX_DAYS 密码再过几天必须被更改
# PASS_MIN_DAYS 密码再过几天可以被变更
# PASS_MIN_LEN 密码最小字符数
# PASS_WARN_AGE 密码过期前几天系统提醒用户
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7