用户与用户组管理
/etc/passwd 用户信息文件 超级用户 普通用户 伪用户
aa:x:501:501:空:/home/aa:/bin/bash
第一列:用户名
第二列:密码位
第三列:UID 用户ID =>500 普通用户
第四列:GID 初始组ID
第五列:用户说明
第六列:家目录
第七列:用户登录之后的权限
/etc/shadow 密码文件(影子文件)
/etc/group 组文件
组:初始组 附加组
zhangsan:x:500:
组名:组密码位:组ID:组中附加用户
相关命令
useradd 选项 用户名
选项:
-g 组名 指定初始组
-G 组名 指定附加组,把用户加入组,使用附加组
-c 添加说明
-d 手工指定家目录,目录不需要事先建立/home/
-s /bin/bash 手工指定用户登录之后的权限
#useradd huluwa
#useradd -g huluwa daliwa 修改daliwa的初始组
#vim /etc/passwd
#useradd -G huluwa qianliyan 使qianliyan成为huluwa的附加组员
#vim /etc/passwd
#vim /etc/group
#useradd -c "siwa" shuiwa 添加说明
#vim /etc/passwd
#useradd -s /bin/nologin huowa 禁止登录
#vim /etc/passwd
#useradd -d /home/ys yinsheng 修改家目录名称
#cd /home
#vim /etc/passwd
初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组
设置密码
#passwd 用户名
删除用户
#userdel -r yinsheng
-r 连带家目录一起删除
#cd /home
#ls
添加组
#groupadd paobing
#groupadd tangke
#vim /etc/group
删除组
#groupdel tangke
#vim /etc/group
添加组员
#gpasswd -a huluwa paobing 用户加入组
#gpasswd -a daliwa paobing
删除组员
#gpasswd -d daliwa paobing 把用户从组中删除
用户相关命令
1 id 用户名 显示用户的UID,初始组,和附加组
[root@localhost home]# id 用户
查看用户的相关ID
#su - 用户名 切换用户身份
- 连带环境变量一起切换
ACL权限
-rw-r--r-- root root index.php
u 属主 g属组
给特殊用户设置ACL权限
1)对文件设置ACL权限
1 getfacl 文件名 查询文件的acl权限
2 setfacl 选项 文件名 设定acl权限 (set 设置)
-m 设定权限
-b 删除权限
setfacl -m u:用户名:权限 文件名
setfacl -m g:组名:权限 文件名
#getfacl index.php 查看文件是否具有ACL权限
setfacl -m u:aa:rwx /test 给test目录赋予aa是读写执行的acl权限
#setfacl -m u:huluwa:rwx index.html
#ls -l
#getfacl index.html
#setfacl -m g:one:rwx index.html
#getfacl index.html
删除ACL权限
#setfacl -x u:huluwa index.html 删除指定用户的ACL权限
#getfacl index.html
#setfacl -b index.html 全部删除ACL权限
2)对目录设置ACL权限
1. 对目录本身设置ACL权限
#setfacl -m u:huluwa:rwx www
2. 对目录内部同时设置ACL权限(递归设置)
setfacl -m u:cc:rx -R soft/ 赋予递归acl权限,只能赋予目录
-R 递归
#setfacl -m u:huluwa:rwx -R www
#cd www
#ls -l
3. 对未来建立的文件设置ACL权限(默认权限)
#setfacl -m d:u:huluwa:rwx -R www
#cd www
#touch b.php
#ls -l
#getfacl b.php
输出重定向
把应该输出到屏幕的输出,重定向到文件。
> 覆盖 ls > aa 覆盖到aa #ls -l > ls.log
>> 追加 ls >> aa 追加到aa #ls >> ls.log
ls gdlslga 2>>aa 错误信息输出到aa 强调:错误输出,不能有空格
错误信息
lss >> aa 2>&1 错误和正确都输入到aa,可以追加
2>&1 把标准错误重定向到标准正确输出
lss >> aa 2>>/tmp/bb 正确信息输入aa,错误信息输入bb
服务和进程管理
进程管理三个主要任务:
判断服务器健康状态
查看所有正在运行的进程
强制终止进程
1.查看系统的运行(健康)状态
#ps aux TTY 终端 网络终端 pts/0 本地终端 tty1 Alt+F1+F6
1 ps aux 查看当前系统所有运行的进程
-a 显示前台所有进程 -u 显示用户名 -x 显示后台进程
user:用户名 pid:进程id。PID 1 init 系统启动的第一个进程 %CPU cpu占用百分比 %MEM 内存占用百分比 VSZ 虚拟内存占用量KB RSS固定内存占有量 tty 登录终端
stat 状态 S:睡眠 D:不可唤醒 R:运行 T:停止 Z:僵死 W:进入内存交换 X:死掉的进程 <:高优先级 N:低优先级 L:被锁进内存 s:含子进程 +:位于后台 l:多线程
start 进程触发时间
time 占用cpu时间
command 进程本身
#pstree 进程树
#top 查看系统运行情况
第一行: 系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率 %id 空闲百分比
第四行:内存使用: 总共 使用 空闲 缓存
第五航:swap使用
排序
操作命令 M 内存排序
P CPU排序
q 退出
2.管理进程 kill killall pkill
#ps aux
#kill -9 12766 (PID)(结束单个进程)
-9 强制
#pstree
#killall httpd(进程名) 终止进程树
#pstree
#w 查看用户登录(负载)
#pkill -9 -t pts/10(终端号) 把某个终端登录的用户踢出
#pkill -9 -t tty1 把本地登录终端1登录用户踢出
linux服务管理
1 分类
1)系统默认安装的服务(二进制包安装的)
2)源码包安装的服务
(一)系统默认安装的服务
1 确定服务分类
chkconfig --list 查看服务的自启动状态
运行级别:0-6
0 关机
1 单用户模式
2 不完全多用户,不包含NFS服务 无网络登录
3 完全多用户 字符界面
4 未分配
5 图形界面
6 重启
#init 0 关机
#init 1 单用户模式 维护
#init 3 多用户字符模式 server常用
#init 5 多用户图形模式 开发
#init 6 重启
运行级别
#vim /etc/inittab
id:3:initdefault: 定义系统默认运行级别
#runlevel 查询系统当前运行级别
1.二进制包安装的服务管理
1)手动管理
#/etc/rc.d/init.d/sshd start(开启) | stop |restart | status 状态 (绝对路径)
#service sshd start | stop(关闭) | restart(重启) | status (命令)
2)开机自启动
#chkconfig --list
#chkconfig --level 245 sshd on | off (命令管理)
#chkconfig --list
#vim /etc/rc.local (文件管理)
/etc/rc.d/init.d/sshd start 推荐
3)图形命令
#ntsysv
2.源码包安装的服务的管理
1)手动管理
#/usr/local/apache2/bin/apachectl start | stop | restart
/usr/local/服务名/bin/服务名二进制执行文件 start
2)开机自启动
#vim /etc/rc.local
/usr/local/apache2/bin/apachectl start
计划任务(定时任务)
#crontab -e 编辑任务
* * * * * 命令
第一个:一小时中第几分钟 0-59
第二个:一天中第几个小时 0-23
第三个:一个月中第几天 1-31
第四个:一年第几个月 1-12
第五个:一周中星期几 0-6
1 */1 * * * * echo "hello world!" >> /root/cron.log
2 */2 * * * * echo "nihao!" >> /root/t.log
3 20 17 23 * * cp /root/cron.log /tmp/
4 22 17 * * * rm -rf /root/t.log
5 25 17 * * * reboot
重启系统 reboot shutdown -r now
生成文件 echo “Good Moring” >> /root/hello.txt
备份文件/目录 cp /root/hello.txt /tmp
#crontab -l 查看计划任务
#crontab -r 删除计划任务
补充命令
#cat /proc/cpuinfo 查看CPU
#dmesg 查看系统启动信息
#dmesg | grep CPU
#dmesg | grep eth0