一 用户管理命令
(*)用户信息文件: /etc/passwd
aa:x:501:501:空:/home/aa:/bin/bash
第一列:用户名
第二列:密码位
第三列:UID 用户ID =>500 普通用户
第四列:GID 初始组ID
第五列:用户说明
第六列:家目录
第七列:用户登录之后的权限
影子文件: /etc/shadow //存放密码的文件
组信息文件: /etc/group
zhangsan:x:500:
组名:组密码位:组ID:组中附加用户
1 添加用户
useradd 用户名
useradd 选项 用户名
选项:
-g 组名 指定初始组
-G 组名 指定附加组,把用户加入组,使用附加组
-c 添加说明
-d 手工指定家目录,目录不需要事先建立/home/
-s /bin/bash(nologin禁止登陆) 手工指定用户登录之后的权限
useradd -g aa bb 添加bb用户,同时指定初始组为aa
useradd -G user1 aa 添加用户aa,指定附加组为user1
初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组
2 设定密码
passwd 用户名
passwd 改变当前用户密码
passwd root 改变root密码
3 删除用户
userdel -r 用户名
-r 连带家目录一起删除
4 添加组
groupadd 组名
5 删除组
groupdel 组名 注意:组中没有初始用户。
6 把已经存在的用户加入组
gpasswd -a 用户名 组名 用户加入组
gpasswd -d 用户名 组名 把用户从组中删除
二 用户相关命令
1 id 用户名 显示用户的UID,初始组,和附加组
[root@localhost home]# id 用户
2 su - 用户名 切换用户身份
- 连带环境变量一起切换
(*)三 ACL权限
给特殊身份的用户设置权限。
1 getfacl 文件名 查询文件的acl权限
2 setfacl 选项 文件名 设定acl权限 (set 设置)
-m 设定权限
-b 删除权限
setfacl -m u:用户名:权限 文件名
setfacl -m g:组名:权限 文件名
setfacl -m u:aa:rwx /test 给test目录赋予aa是读写执行的acl权限
setfacl -m u:cc:rx -R soft/ 赋予递归acl权限,只能赋予目录
-R 递归
setfacl -b /test 删除acl权限
setfacl -x u:用户名 文件名 删除指定用户的ACL权限
3 setfacl -m d:u:aa:rwx -R /test acl默认权限。d 含义:目录 dir
默认权限只能赋予目录
注意:如果给目录赋予acl权限,两条命令都要输入
-R 递归
-m u:用户名:权限 -R 只对已经存在的文件生效
-m d:u:用户名:权限 -R 只对未来要新建的文件生效
(*)四 输出重定向和多命令顺序执行
1 输出重定向
把应该输出到屏幕的输出,重定向到文件。
> 覆盖
>> 追加
ls > aa 覆盖到aa
ls >> aa 追加到aa
ls gdlslga 2>>aa 错误信息输出到aa 强调:错误输出,不能有空格
2 错误信息
lss >> aa 2>&1 错误和正确都输入到aa,可以追加
2>&1 把标准错误重定向到标准正确输出
& 后台运行
lss >> aa 2>>/tmp/bb 正确信息输入aa,错误信息输入bb
服务和进程管理
进程管理三个主要任务:
判断服务器健康状态
查看所有正在运行的进程
强制终止进程
一 进程查看
1 ps aux 查看当前系统所有运行的进程
-a 显示前台所有进程
-u 显示用户名
-x 显示后台进程
user: 用户名
pid: 进程id。PID 1 init 系统启动的第一个进程
%CPU cpu占用百分比
%MEM 内存占用百分比
VSZ 虚拟内存占用量 KB
RSS 固定内存占有量
tty 登录终端 tty1-7 本地终端 1-6 字符 7图形 pts/0-5
alt+F1-F7
stat 状态 S:睡眠 D:不可唤醒 R:运行 T:停止 Z:僵死
W:进入内存交换 X:死掉的进程 <:高优先级 N:低优先级
L:被锁进内存 s:含子进程 +:位于后台 l:多线程
start 进程触发时间
time 占用cpu时间
command 进程本身
2 pstree 查看进程树
3 top
第一行: 系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率 %id 空闲百分比
第四行:内存使用: 总共 使用 空闲 缓存
第五航:swap使用
操作命令 M 内存排序
P CPU排序
q 退出
4 进程管理 终止进程
ps aux 组合使用
kill PID 结束单个进程 结束进程
-9 强制
Pstree 进程树
killall -9 进程名 结束一类进程
pkill -9 进程名
Killall sshd
W 判断登录用户
pkill -9 -t 终端号 把某个终端登录的用户踢出
pkill -9 -t tty1 把本地登录终端1登录用户踢出
二 linux服务管理
1 分类
1)系统默认安装的服务
2)源码包安装的服务
(一)系统默认安装的服务
1 确定服务分类
chkconfig --list 查看服务的自启动状态
运行级别:0-6
0 关机
1 单用户模式
2 不完全多用户,不包含N FS服务 无网络登录
3 完全多用户 字符界面
4 未分配
5 图形界面
6 重启
init 0 halt 关机 init 5 startx init 3
init 6 重启
runlevel 查询系统当前运行级别
vi /etc/inittab
id:3:initdefault: 定义系统默认运行级别
2 独立的服务器管理
1)启动
①
/etc/rc.d/init.d/服务名 start|stop|restart|status
/etc/rc.d/init.d/httpd start
②
service 服务名 start|stop|restart|status
2)自启动
①
chkconfig --level 2345 服务名 on|off
②
vi /etc/rc.local---->/etc/rc.d/rc.local
/etc/rc.d/init.d/httpd start
3 ntsysv
所有系统默认安装服务都可以使用ntsysv命令进行自启动管理
(二)源码包安装的服务
1源码包安装的服务
1)绝对路径启动
/usr/local/apache2/bin/apachectl start
2)自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
总结:
服务管理:
RPM包安装服务
独立的服务
启动:
/etc/rc.d/init.d/服务名 start
service 服务名 start
自启动:
chkconfig --level 2345 服务名 on|off
vi /etc/rc.local 推荐
/etc/rc.d/init.d/httpd start
源码包服务
启动
/usr/local/服务名/bin/服务名二进制执行文件 start
自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
三 计划任务
echo 11 >> /root/aa 在aa文件中追加11.一会定时任务验证用
循环定时任务
crontab -e 编辑定时任务
* * * * * 命令
10 * 31 * * 命令
10 * * * * 命令
5 4 * 5,7,10 * 命令
*/10 * * * * 命令
第一个:一小时中第几分钟 0-59
第二个:一天中第几个小时 0-23
第三个:一个月中第几天 1-31
第四个:一年第几个月 1-12
第五个:一周中星期几 0-6
crontab -l 查看系统定时任务
crontab -r 删除定时任务
注意事项:
选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间
每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
间隔固定时间执行书写为*/n格式
命令应该给出绝对路径
星期几和第几天不能同时出现
最小时间范围是分钟,最大时间范围是月
命令补充:
cat /proc/cpuinfo 文件保存了CPU设备信息
dmesg 查看系统启动信息
cat /var/log/dmesg 系统启动信息日志
dmesg | grep eth0 查看eth0信息
dmesg | grep CPU 查看cpu信息