用户/磁盘/内存/网络 管理

用户管理

一些细节

root 用户为根用户,也就是 系统管理员 拥有全部权限

一个用户只能拥有一个 GID ,但是还可以归属于其它附加群组

用户管理的重要配置文件:

/etc/passwd 用户名 密码位 UID 归属GID 姓名 $HOME目录 登录Shell

/etc/shadow 用户名 已加密密码 密码改动信息 密码策略

/etc/group 群组名 密码位 GID 组内用户

/etc/gshadow 群组密码相关文件,不重要

/etc/sudoers 用户名 权限定义 权限

可以使用 pwconv 命令创建影子密码,将 /etc/passwd 文件中的密码转换到 /etc/shadow 文件

su [用户名]

切换到其它用户,默认切换到root用户。提示密码为将切换用户密码

-f 快速切换,忽略配置文件                 -l 重新登录                 -m -p 不更改环境变量

-c <命令切换后执行命令,并退出切换

sudo [命令]

以其它用户的身份执行命令,默认以root的身份执行。提示密码为当前用户密码

-s 切换为root shell              -i 切换为root shell,并初始化             -u <用户名|UID> 执行命令的身份

-l 显示自己的权限

passwd [用户名]

设定用户密码

-d 清除密码                -l 锁定用户                 -e 使密码过期,在下次登录时更改密码

-S 显示密码认证信息                   -x <天数密码过期,最大使用时间          

-n <天数冻结密码,最小使用时间           -s 更改登录Shell                 -f 更改用户信息

示例:

$passwd

Changing password for user

(current) UNIX password: 原密码

Enter new UNIX password: 新密码

Retype new UNIX password: 确认新密码

chsh [-s <Shell>] [用户名]

更改登录Shell

usermod <用户名>

修改用户账号

-d <目录设定$HOME目录               -m 设定$HOME目录时自动建立                 

-s <Shell> 修改用户登录Shell              -l <新用户名修改为新用户名

-u <UID> 修改用户UID                      -g <群组名修改用户归属群组

-G <群组名修改用户归属附加群组          -L 锁定帐户                -U 解除锁定              

-e <过期时间设定用户账号过期时间                 -f <缓冲天数设定密码过期后多长时间关闭账号

-c <字符串修改用户备注

useradd <用户名>

新建用户

-d <目录设定$HOME目录               -m 自动建立$HOME目录           -M 不自动建立$HOME目录

-s <Shell> 修改用户登录Shell              -l <用户名修改为新用户名               -u <UID> 修改用户UID

-g <群组名修改用户归属群组                   -G <群组名修改用户归属附加群组

-n 不建立以用户名为名称的群组                 -e <过期时间设定用户账号过期时间

-f <缓冲天数设定密码过期后多长时间关闭账号                -c <字符串修改用户备注

-D [表达式更改预设值 (预设值保存于 /etc/default/useradd 文件中)

新建用户规则保存于 /etc/login.defs 文件中

新建用户默认文件保存于 /etc/skel/ 目录中。新建用户时,系统自动拷贝此目录下的文件至新建用户的 $HOME 目录

userdel <用户名>

删除用户

-r 删除用户相关文件和目录

id [用户名]

显示用户 UID GID 归属附加群组

finger [用户名]

显示用户信息

进程管理

一些细节

进程一般分为交互进程、批处理进程和守护进程三类。

守护进程总是活跃,在系统启动时通过脚本自动启动,或由root启动,通常在后台运行。

一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。

init 进程为根进程,所有进程都是它的子进程

ps

显示进程信息,参数可省略 -

aux BSD风格显示进程(常用)                   -efH System V风格显示进程

-e , -A 显示所有进程           a 显示终端上所有用户的进程             x 显示无终端进程

显示详细信息                   f 树状显示                  w 完整显示信息                  l 显示长列表

示例:

ps alx 另一种常用输出格式

ps aux | less 将输出通过管道,使用 less 查看

ps aux | grep <关键字> 通过关键字查找进程

输出字段

USER 进程所有者               PID 进程ID               PPID 父进程              %CPU CPU占用率

%MEM 内存占用率           NI 进程优先级。数值越大,占用CPU时间越少                  VSZ 进程虚拟大小

RSS 页面文件占用              TTY 终端ID              STAT 进程状态

D 不可中断 Uninterruptible sleep (usually IO)               R 正在运行,或在队列中的进程

S 处于休眠状态                   T 停止或被追踪                  Z 僵尸进程

W 进入内存交换(从内核2.6开始无效)           X 死掉的进程            < 高优先级                 N 低优先级

L 有些页被锁进内存          s 包含子进程              + 位于后台的进程组;

l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

pstree

树状显示进程信息

-a 显示完整命令及参数               -c 重复进程分别显示                   -c 显示进程ID PID   -n  PID 排列进程

pgrep <进程名>

显示进程的PID

-l 显示进程名和进程PID            -o 进程起始ID           -n 进程终止ID

xkill

在图形界面中点杀进程。执行此命令后,鼠标指针变为骷髅图案(一定看过《加勒比海盗》吧)。在窗口中点击左键杀死进程,右键取消

pkill <进程名>

结束进程族。如果结束单个进程,请用 kill

kill [信号代码] <进程PID>

根据PID向进程发送信号,常用来结束进程,默认信号为 -9

-l [信号数字] 显示、翻译信号代码

-9 , -KILL 发送 kill 信号退出

-6 , -ABRT 发送 abort 信号退出

-15 , -TERM 发送 Termination 信号

-1 , -HUP 挂起

-2 , -INT 从键盘中断,相当于 Ctrl+c

-3 , -QUIT 从键盘退出,相当于 Ctrl+d

-4 , -ILL 非法指令

-11 , -SEGV 内存错误

-13 , -PIPE 破坏管道

-14 , -ALRM

-STOP 停止进程,但不结束

-CONT 继续运行已停止的进程

-9 -1 结束当前用户的所有进程

renice <优先级表达式> <进程表达式>

重新设定进程优先级(无此必要)

优先级表达式:

+|-|= <nice值>

nice取值范围: -20~19

进程表达式:

-p <PID> 通过进程ID进行设定

-g <PGID> 通过进程群组ID

-u <UID> 通过进程拥有者UID设定

top

动态、交互式进程管理器

-c 显示进程启动状态,包括参数、操作对象等;而不只是进程名

-d <秒> 刷新频率。 -d 5,表示5秒刷新一次

-n <次> 刷新次数,然后退出。 -n 5,表示刷新5次后退出;

-b 以批量模式运行,让输出能够使用管道或重定向。但不能进行交互,最好和 -n <次> 参数一同使用

-i 禁止显示空闲进程或僵尸进程;

-p PID 仅监视指定进程的ID;PID是一个数值;

-s 安全模式运行,禁用一些效互指令;

-S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;

交互命令:

<space> 立即刷新

k 交互式杀死进程,提示输入进程 PID (默认发送信号15)

r 设定renice,提示输入PID和renice值

s 改变两次刷新时间间隔,以秒为单位

n 设定显示进程数, 0 为不作限制

i 隐藏空闲进程和僵尸进程

S 切换到累积时间模式

l 开关,在顶部显示 uptime 信息

t 开关,在顶部显示 进程和CPU状态

m 开关,在顶部显示 free 信息

c 显示方式切换: 进程名/进程启动状态

A 按进程启动顺序进行排序。由新到旧

M 按内存占用排序。由大到小

N 以进程ID排序。由大到小

P 按CPU占用排序。由大到小

T 按时间/累积时间排序

f ,F 设定显示字段。设定完成后空格退出

o,O 设定显示字段的排序。大写向前移动,小写向后移动,空格退出

h,? 显示有关安全模式和累积模式的帮助信息

W 把当前的配置写到~/.toprc中;

nohup <命令>

将任务提交到后台,输出附加到 ~/nohup.out 文件。即便用户退出登录,提交的命令仍继续执行。

<命令> &

背景执行此命令,如果用户退出登录,则命令停止执行

<命令1> ; <命令2> ; ......

命令队列,从左向右,依次执行以 ; 分隔的命令

<命令1> && <命令2> && ......

命令队列,从左向右,依次执行以 && 分隔的命令。前一个命令执行成功,后一个命令才能执行

<命令> <Ctrl+z>

<Ctrl+z> 挂起当前Shell中的任务

jobs

显示背景任务

bg [任务编号]

将挂起的任务背景执行

fg [任务编号]

将背景任务调到前台执行

计划任务

磁盘和内存管理

一些细节

Linux中,设备用/dev/目录下的文件表示。例如

/dev/hda1 第一块硬盘的第一主分区

/dev/hdb5 第二块硬盘的第一逻辑分区

/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区

/dev/null 黑洞设备

关于磁盘设备,详见 分区概念

mount <设备文件> [挂载路径]

挂载文件系统

-t 指定文件系统的类型。通常不必指定,mount自动检测。下面是常用的格式

reiserfs ReiserFS 3.6版

jfs IBM技术

xfs SGI技术(适合高级服务器,桌面用户慎用)

ext3 Linux传统文件系统

vfat fat fat32

ext2 不带日志的ext3

ntfs WINNT

iso9660 光盘

smbfs Windows文件共享

-o [选项1] [选项2] ......

loop 环设备。光盘、ISO镜像等

ro | rw 只读readonly;可读写read-write

sync | async 同步模式|异步模式。决定修改是否立即写入文件系统

atime | noattime 读取时是否修改访问时间。对于写入敏感设备,例如闪存、软盘,建议使用 *noatime*

auto | noauto 自动挂载模式

exec | noexec 是否允许可执行权限

defaults 使用预设的选项 rw, suid, dev, exec, auto, nouser, async

iocharset=UTF-8 指定字符集,可简写为 utf8

codepage=936 指定代码页,可简写为 cp936 西文系统代码页为 437

umask=<权限掩码> 设定权限掩码

uid=<UID> 设定归属用户

gid=<GID> 设定归属群组

remount 以不同选项重新挂载

-L <卷标> 将带有特殊卷标的分区

Tip

权限掩码

权限=777-权限掩码(三位) | 7777-权限掩码(四位)

假如权限掩码为 022 ,则新建对象权限为 755 rwxr-xr-x

可以使用 umask 命令设置权限掩码

mount -a

挂载 /etc/fstab 文件中定义的所有设备

示例:

sudo mount -t iso9660 -o loop /dev/cdrom0 /media/cdrom

sudo mount -t vfat -o remount iocharset=utf8,codepage=cp936 /dev/hda5 /media/hda5

umount <设备文件> | <挂载路径>

卸载已挂载文件系统

df

查看已挂载文件系统的磁盘空间占用

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统

-T 显示文件系统类型                  -k 以k字节为单位显示              -i 显示i节点信息,而不是磁盘块

-t <文件系统类型> 显示指定类型的文件系统的磁盘空间使用情况

-x <文件系统类型> 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-l 只显示本地文件系统

free

查看内存、缓冲区、交换空间的占用

-b 以字节为单位显示数值           -k 以千字节为单位显示数值                -m 以兆字节为单位显示数值

-g 以吉字节为单位显示数值                -l 显示内存占用峰值          -o 不显示缓冲区占用                   -t 统计结果

-s <秒> 刷新频率

sync

同步文件系统。将缓冲区中的数据写入文件系统

fdisk <磁盘设备文件>

分区表修改工具

交互命令:

m 使用帮助                l 查看已知文件系统类型             p 显示分区信息

n 新建分区 (p:主分区 l:扩展分区 参见 分区概念 )          d 删除分区                 t 改变分区类型

w 将改动写入分区表                   q 放弃改动并退出

* 磁盘设备名称为整块磁盘,而不是磁盘中的分区。例如 /dev/hda ,而不是 /dev/hda1

fdisk -l

查看所有磁盘分区信息

cfdisk

更加友善的分区表修改工具

mkfs.<文件系统类型> <分区设备文件>

将分区格式化为文件系统。 文件系统类型

示例:

sudo mkfs.reiserfs /dev/hda1

mkfs <分区设备文件>

-t <文件系统类型> 指定文件系统类型                  -c 格式化前检查磁盘

mkisofs -o <镜像文件> [源文件目录]

用光盘或者文件制作iso镜像

-b 可启动镜像

hdparm <磁盘设备文件>

设置硬盘参数

-d <0|1> DMA模式开关              -a <0|1> 预计模式开关                 -t 性能测试                 -T 缓存性能测试

-c <0|1|3> 32位传输模式开关               -g 显示柱面,扇区等信息           -i -I 显示磁盘信息

网络和硬件管理

ifconfig

配置网络接口

-a 显示所有网络接口

ifconfig <网卡> up|down

激活|禁用网卡

示例: ::

sudo ifconfig eth0 up

ifconfig <网卡> add <IP地址> [ netmask <子网掩码> ]

给网卡指定IP地址或子网掩码

route

配置路由及网关

route add -net <路由地址> gw <网关地址> [ netmask <子网掩码> ] dev <网卡>

指定路由及网关

route del -net <网关地址> gw <网关地址> [ netmask <子网掩码> ]

删除路由及网关

ip

配置网络

子命令:

link 网卡配置             address 配置地址。相当于 ifconfig               route 配置路由。相当于 route

参数:

show 显示(默认)                 set 设置             add 添加            del 删除

示例:

ip link show 显示网卡配置

ip link set eth0 name xxx 重命名网络接口

ping <IP地址>

向目标地址发送ICMP封包,常用来测试网络

-b <广播地址> ping整个网段               -c 发送封包次数                  -s <封包大小> 默认为64字节

netstat

网络连接状态

-r 显示路由表,同 route             -a 所有连接                -t 只显示TCP协议            -U 只显示UDP协议

-l 只显示正在监听的端口            -p 显示PID和进程名                  -c <秒> 刷新频率

* http/ftp/ssh…… 为应用层协议                  * TCP/UDP为传输层协议           * IP/ICMP为网络层协议

lspci

查看PCI总线连接的设备

lsusb

查看USB接口连接的设备

lsmod

查看已加载模块

* /lib/modules/uname -r 目录下为所有可用模块

modprobe <模块名称>

时间: 2024-10-10 03:25:46

用户/磁盘/内存/网络 管理的相关文章

域用户自动映射网络磁盘

1.为IT这个OU下面的用户自动映射网络磁盘(共享盘): 2.共享的磁盘就是C盘里面的一个"Share"文件夹:设置好共享和相应的权限: 3.点击"开始-管理工具-组策略管理"打开组策略管理器: 4.或者可以用" Gpmc.msc"命令打开: 5.右击想要设置的OU,我这里要设置的是IT这个OU,所有右击"IT"选择"在这个域中创建GPO并在此处链接": 6.给组策略起一个友好的名称:然后选择"确

shell脚本采集系统cpu、内存、磁盘、网络信息

有不少朋友不知道如何用shell脚本采集linux系统相关信息,包括cpu.内存.磁盘.网络等信息,这里脚本小编做下讲解,大家一起来看看吧. 一.cpu信息采集 1),采集cpu使用率采集算法:通过/proc/stat文件采集并计算CPU总使用率或者单个核使用率.以cpu0为例,算法如下: 1,cat /proc/stat | grep ‘cpu0'得到cpu0的信息 2,cpuTotal1=user+nice+system+idle+iowait+irq+softirq 3,cpuUsed1=

获取两台linux服务器的cpu、内存、磁盘、网络等信息,可能不是最好的逻辑,但是对于小白的我自己动手收货不少

# coding: utf-8""" 作者:xiaofeng 功能:自动获取阿里云服务器的cpu.内存.磁盘.网络流量等信息,定时生产一个excel文件 版本:v1.1.5 日期:21/11/2019 版本迭代:各模块封装成方法,其中优化cpu计算方法"""import os,timeimport paramikoimport datetimeimport reimport xlwtdef main(): print("欢迎使用Linu

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',

Linux内存点滴:用户进程内存空间

原文出处:PerfGeeks 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的.VIRT , Virtual Image (kb)RES, Resident size (kb)SHR, Shared Mem size (kb)%MEM, Memory usage(kb)SWAP, Swapped size (kb)CODE, Code size (kb)DATA, Data+Stack size (kb)nFLT, Page Fault countn

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

Linux 基础入门----用户及文件权限管理

用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学

mysql用户操作和权限管理

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES(‘用户名’,’IP地址’,password(‘密码’),’’,

Nginx 内存池管理

概述 Nginx 使用内存池对内存进行管理,内存管理的实现类似于前面文章介绍的<STL源码剖析--空间配置器>,把内存分配归结为大内存分配 和 小内存分配.若申请的内存大小比同页的内存池最大值 max 还大,则是大内存分配,否则为小内存分配. 大块内存的分配请求不会直接在内存池上分配内存来满足请求,而是直接向系统申请一块内存(就像直接使用 malloc 分配内存一样),然后将这块内存挂到内存池头部的 large 字段下. 小块内存分配,则是从已有的内存池数据区中分配出一部分内存. Nginx