第十一章 日常管理
11.1 用户管理概述
1. 用户的密码保存在/etc/passwd和/etc/security/passwd下
2. 系统中有三种类型的组:用户组,管理组,系统组
3. 用户管理需要使用的命令有:mkuser , passwd , chuser , lsuer , rmuser , chsec , login , who , dtconfig
4. 用户管理涉及的文件有:
- /etc/security/environ 包括用户环境属性
- /etc/security/lastlog 包括上次登录用户的属性
- /etc/security/limits 包括用户资源限制内容
- /etc/security/user 包括用户额外属性
- /usr/lib/security/mkuser.default 包括创建新用户的属性
- /usr/lib/security/mkuser.sys 自定新用户(看不懂内容)
- /etc/passwd 包括用户基本属性
- /etc/security/passwd 包括用户密码信息
- /etc/security/login.cfg 包括系统默认登录参数
- /etc/utmp 包括用户登录记录
- /var/adm/wtmp 包括连接时间用户记录
- /etc/security/failedlogin 包括失败登录记录
- /etc/motd 包括用户登录显示信息
- /etc/environment 指定所有进程基本环境
- /etc/profile 指定所有用户额外环境
- $HOME/.profile 指定用户的环境设置
- /etc/group 包括组的基本属性
- /etc/security/group 包括组的额外属性
11.2 用户管理任务
1. 使用mkuser命令添加一个用户账户
2. 使用passwd改变或创建用户密码
3. 使用chuser命令改变用户属性(有NIM时不要使用)
4. 使用lsuser命令查看用户所有属性
5. 使用rmuser命令删除一个用户账户(不删除用户家目录)
6. 使用chsec命令改变用户安全属性
7. 使用who命令查看当前登录用户
8. 编辑/etc/nologin阻止用户登录系统(不能阻止root)
9. 使用chsh改变用户shell环境
10. 改变shell提示符:
- PS1 首要提示符
# export PS1=”Ready> “
# echo “prompt is $PS1”
prompt is Ready>
- PS2 备选提示符
# export PS2=”Enter more->”
# print Tod\
Enter more->ay is Tuesday
Today is Tuesday
11.3 监控和管理进程
1.使用ps命令输出当前活动的进程和系统线程信息
2.使用kill命令结束运行的进程
3.使用nice和renice改变进行运行优先级,值越高代表优先级越低
- renice –n 5 –p PID 提高nice值5,降低优先级
- renice –n -5 –p PID 降低nice值5,提高优先级
4.使用fuser命令查看使用文件的进程和用户(-xuc)
5.使用topas查看系统情况
6.使用svmon抓取和分析虚拟内存(-G global report -U user report -P process report)
11.4 文件和目录的权限和所有权
1.访问控制包括了允许谁使用资源的相关信息,系统要对文件和目录的属主和属组关系进行安全确定。ACL增加了系统对文件控制的质量,通过使用aclget , acledit , aclput 进行ACL的额外的文件权限控制。
- 基本权限有读(r) , 写(w) , 执行/搜索(x)
- 使用ACL后的权限是:基本权限+owner权限+group权限+other权限
- 三种属性可以增加到ACL中:SUID暂时使用owner的权限,SGID暂时使用group的权限,SVTX使用文本模式保存权限
2. ACL可以使用额外的属性控制用户使用情况:
attributes: SUID
base permissions:
owner(frank): rw
group(system): r-x
others: ---
extended permissions:
enabled
permit rw- u:dhs
deny r-- u:chas, g:system
specify r-- u:john, g:gateway, g:mail
permit rw- g:account, g:finance
3. 使用chmod命令可以改变文件或目录的模式:
# chmod 644 text
4. 使用chown命令可以改变文件或目录所有权关系
# chown -R john:build /tmp/src
11.5 本地和全局变量
1. 如果一个变量名在block中定义,这个变量就有了local scope或block scope。在local scope的变量可以被所在的block或block里面的block所使用,但必须先声明这个变量名
2. 如果不在任何block中声明一个变量,这个变量就有了global scope
3. 所有shell变量默认都是全局变量。所有的全局变量在任何程序和脚本中都能使用,但是如果用typeset , integer , readonly在函数中声明变量,这个变量就是本地变量。
11.6 cron守护进程和crontab
1. at命令读入标准输入,在设定是时间点执行命令,at命令在/var/spool/cron/atjobs中添加任务,使用atq查看at任务
2. crontab文件保存在/var/spool/cron/crontabs中,每一个使用cron的用户就在crontabs的目录下以用户名创建相同的文件。crontab文件记录的格式:
minute hour day_of_month month weekday command
3./var/adm/cron/cron.allow和cron.deny文件控制着哪些用户可以使用cron命令
4.使用crontab –e 更新和创建crontab文件
5.使用crontab –l filename 查看用户crontab的文件内容
6.使用crontab –r 删除用户的crontab文件
11.7 SRC管理
1. 系统资源控制器提供了一组命令管理子系统。子系统是一组能够独立运行的程序或进程,子系统是用来提供相应的服务
2. 系统在启动过程中已经执行了/usr/sbin/srcmstr命令开启SRC服务,SRC服务是系统服务,人工关闭后系统自行启动。、
3. 使用startsrc开启服务(-g gourp subsystem) (-s subsystem)
4. 使用refresh 刷新服务
5. 使用stopsrc关闭服务
11.8 命令和进程
1. 命令式执行操作或运行程序的一组请求,当系统执行这组请求时,就产生了进程
2. 进程有三种类型:
- 前台进程(屏幕有输出)和后台进程(不显示输出)
- 守护进程
- 僵尸进程(死亡进程但还有PID)
3. 使用Ctrl-C或Ctrl-Backspace取消前台进程,使用Ctrl-Z结束前台进程
4. 使用fg PID将停止的进程放入前台
5. 在执行命令的后面加&将程序放入后台执行
6. 使用kill PID结束后台进程或者使用kill %1结束后台第一个程序
7. 使用nohup命令将程序设置为用户log off后继续执行模式
11.9 通配符
可以通过shell的学习进行了解
11.10 重定向标准输入/输出/错误
1. 文件描述符,0代表标准输入,1代表标准输出,2代表标准错误
2. 重定向标准输入使用(<)
3. 重定向标准输出使用(>),使用(>>)进行追加
4. 重定向标准错误使用(2>)
5. 将标准输出和标准错误输入到同一个文件使用( 2>&1 )