1、用户登录和初始化

AIX-用户和组的管理_oracle

用户环境由以下文件来建立:

/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

AIX-用户和组的管理_oracle_02

#smitty  user

AIX-用户和组的管理_oracle_03

#smitty  lsuser   //显示有哪些用户

AIX-用户和组的管理_group_04

3、用户管理指令

创建用户

mkuser

创建或修改一个用户的口令

passwd

修改用户的属性,但不包括口令

chuser

列出用户属性

lsuser

删除一个用户及其属性

rmuser

修改与安全相关的参数

chsec

启动一个新的用户会话

login

确定当前登录进来的用户

who

4、用户配置文件

AIX-用户和组的管理_oracle_05

5、用户日常管理

#smitty   user

(1)创建用户

#mkuser    oracle

#smitty

AIX-用户和组的管理_user_06

AIX-用户和组的管理_oracle_07

用户缺省值:

缺省用户的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指令修改。

AIX-用户和组的管理_group_08

AIX-用户和组的管理_group_09


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

AIX-用户和组的管理_aix_10

AIX-用户和组的管理_group_11

mkgroup指令:
mkgroup  groupname
-a   用来指定该组是管理组(只有root才有权在系统中添加管理组)
 
-A   用于任命创建者为组管理员
 
一个用户可属于1—32个组。ADMINISTRATOR  list是组管理员列表,组管理员有权添加或删除组成员

(2)查看组的属性

显示组:

AIX-用户和组的管理_oracle_12

lsgroup  //缺省格式,列表按行显示
 
lsgroup -c  //显示时每个组的属性之间用冒号分隔
 
lsgroup –f //按组名以分节式格式输出

(3)更改组的属性

#smitty   chgroup

AIX-用户和组的管理_aix_13

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

AIX-用户和组的管理_smitty lsuser_14

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

AIX-用户和组的管理_oracle_15

11、文件和目录的存取许可权

AIX-用户和组的管理_oracle_16

AIX-用户和组的管理_smitty lsuser_17

用户执行passwd 命令时他们的有效UID将改为root 的UID

AIX-用户和组的管理_user_18

更改权限:

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 ——修改错误并输出报告