1、用户登录和初始化
用户环境由以下文件来建立:
/etc/environment
/etc/security/environ
/etc/security/limits
/etc/security/user
环境变量,用户登录时系统设置用户环境主要依据下述文件:
--设置系统范围内公共变量的shell文件,设置如TERM、MAILMSG 、MAIL等环境变量
/etc/profile
--指定对所有进程适用的基本环境变量。如HOME、LANG、TZ 、NLSPATH等
/etc/environment
--用户在主目录下的设置文件,设置当前用户的环境变量
$HOME/.profile
2、用户划分
root用户
超级用户,可执行所有的系统管理工作,不受任何权限限制。
大多数系统管理工作可以由非root的其他用户来完成,
如指定的 system、 security、printq、cron、adm、audit组的成员。
为了保护重要的用户和组不受security组成员的控制,
AIX设置管理用户和管理组,只有root才能添加删除和修改管理用户和管理组。
管理用户
--系统中的用户均可以被指定为管理用户,可查看文件/etc/security/user的admin属性
# cat /etc/security/user
user1:
admin=true
普通用户
--普通用户
系统缺省用户:
root:超级用户
adm、sys、bin :系统文件的所有者但不允许登录
系统缺省组:
system:管理员组
staff:普通用户组
#smitty security
#smitty user
#smitty lsuser //显示有哪些用户
3、用户管理指令
创建用户
mkuser
创建或修改一个用户的口令
passwd
修改用户的属性,但不包括口令
chuser
列出用户属性
lsuser
删除一个用户及其属性
rmuser
修改与安全相关的参数
chsec
启动一个新的用户会话
login
确定当前登录进来的用户
who
4、用户配置文件
5、用户日常管理
#smitty user
(1)创建用户
#mkuser oracle
#smitty
用户缺省值:
缺省用户的ID号取自/etc/security/.ids
设置ID的shell程序/usr/lib/security/mkuser.sys
缺省特性取自/usr/lib/security/mkuser.default、/etc/security/user
缺省的.profile文件取自/etc/security/.profile
查看用户属性:lsuser
--列表按行显示
lsuser
--显示的域以冒号分隔
lsuser -c
--按分节式的格式显示,可以指定列出全部属性或部分属性
lsuser –f
(2)为用户设置密码
#passwd username
#passwd oracle
(3)修改用户属性
#smitty chuser
#chuser命令用来修改用户的属性
#chuser rlogin=true oracle //设置用户Oracle可以远程访问本系统
#chuser groups=dba oracle //将用户Oracle增加到dba组
#lsuser oracle //显示Oracle用户的属性
(4)删除用户账号
#smitty rmuser
#rmuser oracle //不会删除用户的主目录
#rmuser -p oracle //删除oracle用户及其属性,并删除/etc/security/passwd文件中的用户信息
# rmuser test01
删除用户test01
# rmuser -p test01
删除用户test01,并删除与用户认证相关的信息
# rm -r /home/test01
手工删除用户的主目录
(rmuser命令并未删除用户主目录)
(5)查看用户登录
#who
#whoami
#who am i
#who -r //查看了当前系统运行的级别
(6)修改用户的shell
#cat /etc/passwd //查看用户的shell
如果希望使用另外一种shell,可以直接修改/etc/passwd文件的对应位置。
或者使用 chsh指令修改。
6、组的日常管理
组是用户的集合,组成员需要存取组内的共享文件。
每个用户至少属于一个组,同时也可以充当多个组的成员。
用户可以存取自己组集合(group set )中的共享文件。
列出组集合可用groups 或者setgroups 命令。
文件主修改主组可用newgrp 或setgroups 命令。
三种类型组:
用户组:系统管理员按照用户共享文件的需要创建的,例如同一部门,同一工程组的成员所创建的组
系统管理员组:系统管理员自动成为system组的成员,该组的成员可以执行某些系统管理任务而无需是root用户
系统定义的组:系统预先定义了几个组,如staff是系统中新创建的非管理用户的缺省组,security组则可以完成有限的安全性管理工作。
其他系统定义的组用来控制一些子系统的管理任务
在AIX系统中,一些组的成员如system 、security 、printq 、adm等能够执行特定的系统管理任务。
系统定义的组:
system //管理大多数系统配置和维护标准软硬件;
printq //管理打印队列。该组成员有权执行的典型命令有enable、disable、qadm、qpri等;
security //管理用户和组、口令和控制资源限制。该组成员有权执行的典型命令有mkuser、rmuser、pwdadm、chuser、chgroup等;
adm //执行性能、cron 、记帐等监控功能;
staff //为所有新用户提供的缺省的组,管理员可以在文件/usr/lib/security/mkuser.defaults中修改该设置。是新建的普通用户的组;
audit //管理事件监视系统;
建立组的目的是让同组的成员对共享的文件具有同样的许可权(文件的组许可权位一致);
要创建组并成为其管理员,必须是root或security组成员。组管理员有权往组里添加其他用户;
系统中已经定义了几个组,如system 组是管理用户的组,staff 组是普通用户的组 ,其他的组与特定应用和特定文件的所有权相联系;
(1)创建AIX用户组
#smitty group
#mkgroup oinstall //创建用户组oinstall
#mkgroup -a oinstall //创建了管理型用户组oinstall
#smitty mkgroup
mkgroup指令:
mkgroup groupname
-a 用来指定该组是管理组(只有root才有权在系统中添加管理组)
-A 用于任命创建者为组管理员
一个用户可属于1—32个组。ADMINISTRATOR list是组管理员列表,组管理员有权添加或删除组成员
(2)查看组的属性
显示组:
lsgroup //缺省格式,列表按行显示
lsgroup -c //显示时每个组的属性之间用冒号分隔
lsgroup –f //按组名以分节式格式输出
(3)更改组的属性
#smitty chgroup
smit chgroup和chgroup命令用来更改组的特性。
只有root和security组的成员有权执行该操作
组的属性包括:
Group ID (id=groupid)
Administrative group?(admin=true|false)
Administrator List (adms=adminnames)
User List (users=usernames)
(4)删除组
#smitty rmgroup
rmgroup用来删除一个组
对管理组而言,只有root才有权删除
组管理员可以用chgrpmen命令来增删组管理员和组成员
7、管理员和用户通信工具
motd文件
write命令
wall命令
talk命令
mesg命令
motd文件
文件/etc/motd在用户从终端成功登录时将会显示在屏幕上。 特别适合存放版权或系统使用须知等长期信息。
只应包含用户须知的内容。
用户的主目录下如果存在文件$HOME/.hushlogin ,则该用户登录时不显示motd 文件的内容。
8、su命令
su 命令允许切换到root 或者指定用户,从而创建了新的会话
例如:
# su test01
$ whoami
test01
su 命令带“-” 号表示将用户环境切换到该用户初始登录环境
例如:
$ su - test02
$ pwd
/home/test02
su 命令不指定用户时,表示切换到root
9、安全性日志
/var/adm/sulog
su 日志文件。可用pg、 more 、cat命令查看
/etc/utmp
在线用户记录。可用who 命令查看
# who -a /etc/utmp
/etc/security/failedlogin
非法和失败登录的记录,未知的登录名记为
UNKNOWN ,可用who命令查看
# who -a /etc/security/failedlogin
last命令
查看/var/adm/wtmp文件中的登录、退出历史记录。如:
# last 显示所有用户的登录、退出历史记录
# last root 显示root用户登录、退出历史记录
# last reboot 显示系统启动和重启的时间
10、umask
umask 决定新建文件和目录的缺省许可权
/etc/security/user 指定缺省的和个别用户的umask 值
系统缺省umask=022 ,取umask=027 则提供更严格的
许可权限制
umask=022 创建的文件和目录缺省许可权如下:
普通文件 rw-r--r--
目录 rwxr-xr-x
# vi /etc/security/user
11、文件和目录的存取许可权
用户执行passwd 命令时他们的有效UID将改为root 的UID
更改权限:
example:
# chmod +t dir1
or # chmod 1770 dir1 (SVTX)
# chmod g+s dir2
or # chmod 2775 dir2 (SGID)
# chmod u+s dir3
or # chmod 4750 dir3 (SUID)
更改拥有者:
example:
# chown zhang file1
# chgrp staff file1
# chown zhang:staff file
12、合法性检查
pwdck 验证本机认证信息的合法性
命令格式:
pwdck {-n|-p|-t|-p} {ALL | username }
该命令用来验证本机认证信息的合法性,它将检查
/etc/passwd 和/etc/security/passwd 的一致性
以及/etc/security/login.cfg 和/etc/security/user 的一致性;
usrck 验证用户定义的合法性
命令格式:
usrck { -n | -p | -t | -y } { ALL | username }
该命令检查 /etc/passwd、 /etc/security/user 、/etc/limits 和/etc/security/passwd中的用户信息,
同时也检查/etc/group和/etc/security/group 以保证数据的一致性;
grpck 验证组的一致性
命令格式:
grpck { -n| -p| -t |-y } {ALL |username }
该命令检查 /etc/group 和 /etc/security/group 、/etc/passwd 和/etc/security/user之间的数据一致性;
命令参数的含义:
-n ——报告错误但不作修改
-p ——修改错误但是不输出报告
-t ——报告错误并等候管理员指示是否修改
-y ——修改错误并输出报告