4.用户和用户组管理

用户与用户组管理
/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

原文地址:https://www.cnblogs.com/xujing6/p/6217034.html