linux系统管理命令(五)

【教程主题】:1.系统管理命令

【1.1】用户和组管理

在Linux操作系统中,任何文件都归属于某一特定的用户,而任何用户都隶属于至少一个用户组。用户是否有权限对某文件进行访问、读写以及执行,受到系统严格约束的正是这种清晰、严谨的用户与用户组管理系统。在很大程度上它保证了Linux系统的安全性。本节课将对Linux系统中重要的用户和组管理文件进行介绍,并且介绍如何使用命令行对用户和组进行管理。

Linux帐号分类

用户帐号

- 用来储存单一用户的数据,你可以使用一个用户帐号,来储存某一个用户的数据

用户帐号分为:

Ø 超级用户

拥有完全控制功能,用户名称通常为root,其UID(用户系统标识符)为0

Ø 普通用户

分类:

系统账号

这种类型账号提供给Linux系统本身使用。在某些软件执行时候,需要你提供一个普通用户类型的账号。为了满足这个需求而建立的账号,我们称为系统账号。 在Red Hat Enterprise Linux 中,系统用户的UID在1到499之间。

真实用户

真实账号在系统中,被分配的UID范围为500至4,294,967,295之间。

群组账号

- 用来储存多个用户的信息,每一个群组账号可以用来记录一组用户的数据。

群组账号分类:

Ø 超级用户组

root的用户群组我们称为超级用户组

超级用户群组的GID(群组标识符)为0。隶属于超级用户群的成员,不具备系统管理的权利。

Ø 系统群组

与系统账号一样,系统群组也是给Red Hat Enterprise Linux 系统本身,或是某个软件使用。目前Red Hat Enterprise Linux定义系统群组的GID范围为1到499之间。

Ø 用户自定义组

除了上述的群组外其余的所有群组都是用户自定义群组。

用户自定义组账号可使用的GID范围为500到4,294,967,293
用户账号文件——passwd

/etc/passwd文件是UNIX安全的关键文件之一。该文件用于用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户组ID(GID)、用户信息、用户主目录以及登录后使用的shell。/etc/passwd文件的每一行保存一个用户的资料,而用户数据按域以冒号“:”分隔。格式如下所示:

username:password:uid:gid:userinfo:home:shell

其中,各个域的含义如表所示:

/etc/passwd文件中域的含义



含    义


username


登录名


password


加密的用户口令


uid


用户ID


gid


用户组ID


userinfo


用户信息


home


分配给用户的主目录


shell


用户登录后将执行的shell(若为空格则默认为/bin/sh)

用户的登录名是用户用来登录的识别,由用户自行选定,主要由方便用户记忆或者具有一定含义的字符串组成。所有用户口令的存放都是加密的,通常采用的是不可逆的加密算法。一般来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值,只有UID等于0时可以例外。每个用户都需要保存专属于自己的配置文件及其他文档,以免用户间相互干扰。当用户登录进入系统时,会启动一个Shell程序,默认是bash。

用户影子文件——shadow

Linux使用不可逆的加密算法(如MD5,SHA1等)来加密口令。和/etc/passwd类似,/etc/shadow文件中每条记录用冒号“:”分隔,形成9个域,格式如下所示:

username:password:lastchg:min:max:warn:inactive:expire:flag

其中,各个域的含义如表所示:

/etc/shadow文件中域的含义



含    义


username


用户登录名


password


加密的用户口令


lastchg


表示从1970年1月1日起到上次修改口令所经过的天数


min


表示两次修改口令之间至少经过的天数


max


表示口令还会有效的最大天数,如果是99999则表示永不过期


warn


表示口令失效前多少天内系统向用户发出警告


inactive


表示禁止登录前用户名还有效的天数


expire


表示用户被禁止登录的时间


flag


保留域,暂未使用

用户组账号文件——group和gshadow

/etc/passwd文件中包含着每个用户的用户组ID(GID)。

/etc/group文件对用户组的许可权限的控制并不是必要的,这是因为Linux系统用来自于/etc/passwd文件的UID、GID来决定文件存取权限。

用户组可以像用户一样拥有口令。

/etc/group文件记录格式如下所示:

group_name:group_password:group_id:group_members

其中,各个域的含义如表所示:

/etc/group的域及其含义



含    义


group_name


用户组名


group_password


加密后的用户组口令


group_id


用户组ID(GID)


group_members


以逗号分隔的成员用户清单

/etc/gshadow的域及其含义



含    义


group_name


用户组名


group_password


加密后的用户组口令


group_members


以逗号分隔的成员用户清单

用户和用户组账号管理命令:

使用useradd命令添加用户

Linux使用useradd命令添加用户或更新新创建用户的默认信息。默认信息包括前文所述的用户账号文件所存储的用户相关信息。useradd命令的格式如下:

useradd  [参数]   {username}

参数: -u  UID     用来指定UID

-g  GROUP  定义用户的主要群组,GROUP必须已经存在

-G  GROUP  指定用户的次要群组,可以指定多个次要群组,每个用“,“相连

-d HOME    指定用户的主目录

-s SHELL    指定用户登录执行的程序

-r              建立一个系统用户的账号

出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还须用passwd命令为每一位新增加的用户设置口令。之后还可以随时用passwd命令改变自己的口令。passwd命令的格式如下:

passwd username

使用usermod命令修改用户信息

usermod命令用来修改使用者账号,具体的修改信息和useradd命令所添加的信息一致,这里不再一一列出。usermod命令的格式如下:

usermod  [参数]   {username}

参数: -u UID        修改UID

-g  GROUP   修改主要群组名称

-G  GROUP   修改次要群组名称

-d  HOME      修改家目录位置

-s  SHELL       修改可执行程序

-l NEWNAME   修改用户名

-L   锁定帐号

-U  解除锁定

使用userdel命令删除用户

userdel命令用来删除系统中的用户信息。userdel命令的格式如下:

userdel  [参数]   {username}

参数: -r 删除用户的主目录和邮箱

使用groupadd命令创建用户组

groupadd命令可以以指定名称来建立新的用户组。groupadd命令的格式如下:

groupadd  [参数]  {groupname}

参数:   -g GID 指定群组账号的标识符

-r 指定添加的群组成为系统群组

-f 强制执行。一般情况下groupadd不允许建立一个与使用过的GID相同的群组账号,使用这个参数就会建立相同的GID群组账号

使用groupmod命令修改用户组属性

groupmod命令用来修改用户组信息。groupmod命令的格式如下:

groupmod  [参数] {groupname}

参数:    -g GID  修改GID

-n NEWNAME   修改群组的名称

使用groupdel命令删除用户组

groupdel命令比较简单,用来删除系统中存在的用户组。使用该命令时必须确认待删除的用户组存在。groupdel命令的格式如下。

groupdel groupname

【1.2】用户权限管理

Linux系统中三种基本权限

用户属主、用户属组及其它人权限

-rw-r--r-- 1 root root 762 11-11 20:34 a.out

文件类型和权限   链接数 文件拥有者 文件拥有组 内容大小 更改时间 文件名


文件类型


ls命令中的缩写


应用


一般文件


-


保存数据


目录


d


存放文件


符号链接


l


指向其他文件


字符设备节点


c


访问设备


块设备文件


b


访问设备


命名管道函数


P


进程间通信


套接字


s


进程间通信

八进制表示法


字符表示法


八进制表示法


含义


r


4


读(查看文件)


w


2


写(删建文件、重命名)


x


1


执行(进入目录)

权限管理命令

u    属主

g    属组

o    其他

a    所有

创建文件时,系统默认权限为666

创建目录时,系统默认权限为777

修改文件权属于chown,chgrp

chown修改属主和修改属主、属组

chown  [–R]   [属主:属组] /user   file

chgrp修改属组

chgrp  group file

谁可以修改文件的所有者和权限

chmod    root用户和文件的所有者

chgrp     root用户和文件的所有者(必须是组成员)

chown    只有root

【1.3】文件归档管理

1.3.1 Linux怎样保存文件

数据

- 这里数据就是文件的内容

元数据

- 在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的结构中

文件名

- 文件名保存在名为目录项(dentry)的结构中

i-节点

所有文件都有如下的属性:

文件类型、链接数、用户所有者、组所有者、权限和时间信息。这种信息保存在名为i-节点的结构中。

链接数

i-节点记录文件的链接数,也就是引用该文件的目录项(dentry)数。通常常规文件只有一个文件名,链接数也是1

时间信息

每个i-节点保存与文件相关的三种时间信息,通常叫做atime、ctime、mtime,含义如下:


缩写


名称


目的


atime


访问时间


文件数据每次被阅读后更新


ctime


改变时间


文件的i-节点信息每次被改变后都会更新


mtime


修改信息


文件数据每次被更改后更新

用stat命令查看i-节点的信息

一个文件的i-节点信息集合叫做该文件的状态(startus)。

我们可以把stat命令看作是现实文件状态的命令。

用法:

stat  [option ]  file

一个文件系统内,每个i-节点都分配到一个独一无二的i-节点编号

硬链接和软连接

硬链接:

将多项目录项关联到一个i-节点(同一个文件保存在两个地方或不同的文件名)

ln  目标文件  链接文件

软连接:是一些不同的i-节点,用来引用其他文件名。

ln  -s   目标文件  链接文件

查找文件find命令

用法:

find    {搜索目录}  {搜索条件}  [动作]

搜索条件:

-size  n  文件的大小

-type   文件的类型(f普通、d目录、i软连接)

-name:按照文件名查找文件。支持统配符*和?。

-user: 按照文件属主来查找文件。

-group:按照文件所属的组来查找文件。

-mtime n:按照文件的更改时间来查找文件。

-atime n:搜索在过去n天读取过的文件。

-ctime n:搜索在过去n天修改过的文件。

- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前

有时间有关选项:共有 -atime, -ctime  -mtime ,以 -mtime 说明

-mtime  n :n 为数字,意义为在 n 天之前的『一天之内』被更改过内容的文件;

-mtime +n :列出在 n 天之前(不含 n天本身)被更改过内容的文件名;

-mtime -n :列出在 n 天之内(含n 天本身)被更改过内容的文件名。

-print:输出搜索结果,并且打印

find命令查找文件的几种方法:
(1)根据文件名查找
例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整个硬盘。
(2)快速查找文件
根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此时可以使用下面命令:
find /etc -name smb.conf
这样,使用“快速查找文件”方式可以缩短时间。
(3)根据部分文件名查找方法
有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令:
find / -name ‘*abvd*‘
输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。
find /etc -size +500000c -and -mtime +1

动作:

-exec command;     对匹配文件执行command,用{}表示匹配的文件。命令形式为:

‘ command‘ {} \;,注意{ }和\;之间的空格。

-ok  command;       与-exec相同,但是提示确认没个文件的操作

用法:找出名字为1.txt文件 并且用长格式输出:

find /root -name 1.txt -exec ls -l {} \;

1.3.2 文件压缩

为什么要压缩文件

节约空间和网络传输

压缩命令

gzip

用法:

gzip   [option ]  file

参数: -c  将输出重定向到标准输出

-d  解压缩文件

-r  对目录递归,将里面的文件分别压缩

-1…9    指定压缩比例。

文件后缀:.gz

bzip2

用法:

bzip2   [option ]  压缩后文件  要压缩文件

参数: -c  将输出重定向到标准输出

-d  解压缩文件

文件后缀:.bz

文件归档tar

将文件归档可以把整个目录树保存在同一个文件中

tar命令用于创建、列出、抽取归档文件。

归档文件通常也会一并压缩

用法:

tar   [option ]  file

-c  创建归档文件

-x  释放文档

-v  显示详细信息

-f  文件名(可带路径)

-z 使用gzip压缩

-j 使用bzip2压缩

linux系统管理命令(五),布布扣,bubuko.com

时间: 2024-08-02 07:00:33

linux系统管理命令(五)的相关文章

linux学习 – linux系统管理命令

常用的Linux系统管理命令 whoami 显现当前操作的用户,如下图: hostname 显示主机名,如下图: top 动态显示当前耗费资源的进程信息,如下图: du 查看当前目录下,文件的大小 du -sh * df 查看磁盘大小 df -h 带有单位显示磁盘信息 ps ps -ef|grep java 查询java进程的PID kill 杀死进程,能够先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程.kill -9 pid 未完待续,后续补充~~ 原文链接:http:/

Linux命令大全之一——Linux系统管理命令,非常全!

Linux命令是对Linux系统进行管理的命令. 对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,下面是关于49个Linux系统管理命令的详细讲解! adduser 功能说明:新增用户帐号.语 法:adduser补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号.在R

Linux常用命令(五)

Linux常用命令(五) 今天,我们继续总结linux的find命令,find命令经常与另外两个命令exec和xargs一起使用,那么今天我们就看看他们到底是怎么使用的吧. 1 exec 命令 -exec参数后面跟的是command命令,以';'为结束标志,并且要在':'之前增加'\',考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. 1.1 语法 find[文件目录]... -exec [commond] {} \; 1.2 命令参数 1.3 命令实例 用-exec选项执行ls命令 [[

Linux 系统管理命令

系统管理命令的一些基本命令 apmd  高级电源管理(apmd命令负责BIOS进阶电源管理(APM)相关的记录.警告和管理工作) apmd[选项][百分比变化量][百分比值] -p<百分比变化量> 当电力变化的幅度超过设置的百分比变化量时,即记录事件 -u 将BIOS时钟设为UTC -v 记录所有的APM事件 -w<百分比值> 如果电池不在充电状态,电池店龄低于设置的百分比值,会在syslog的alert层记录警告信息 -W 发出警告信息给所有人 apmd  -w  15  -W

Linux系统管理第五周作业【Linux微职位】

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥(Network Bridge):工作在OSI模型的第二层数据链路层,主要用于将两个局域网(LAN)连起来,根据MAC地址来转发帧(Frame).它可以有效地联接两个局域网,使本地通信限制在本网段内,并转发相应的信号至另一端.网桥主要用于联接数量不多.同一类型的网段. 集线器(Hub):工作在OSI的第一层物理层,主要用于对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上

Linux系统:常用Linux系统管理命令总结

本文源码:GitHub·点这里 || GitEE·点这里 一.目录指令 1.创建目录make directory mkdir 目录名称 //mkdir spring,创建一个spring文件夹 mkdir -p file/file/file //递归创建多级别关系目录 mkdir dir/newdir //不使用递归 mkdir -p dir/newdir/newdir //使用递归 2.移动目录 move mv dir1 dir2 //把dir1目录移动到dir2目录下 mv dir1/dir

Linux Linux系统管理命令

df 检测文件系统的磁盘空间占用和空余情况 --用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对接点和磁盘块的使用情况 --df [参数] --常用参数及含义 "-a" 显示所有文件系统的磁盘使用情况 "-k" 以k字节为单位显示 "-t<fs>" 显示各指定文件系统的磁盘空间使用情况 -- df -t 文件名 "-T" 显示文件系统 du 统计目录或文件所占磁盘空间的大小 --该命令执行结果与df

linux系统管理命令

系统与管理命令 Users 和 Groups 类命令 users 重要程度:中 显示所有的登录的用户.这个命令与 who -q 基本一致. groups 重要程度:中 列出当前用户和他所属于的组.这相当于 $GROUPS 内部变量,但是这个命令将会给出组名字,而不是数字. chown,chgrp 重要程度:高 chown 命令将会修改一个或多个文件的所有权.对于 root 来说这是一种非常好的将文件的所有权从一个用户换到另一个用户的方法.一个普通用户不能修改文件的所有权,即使他是文件的宿主也不行

Linux系统管理命令&lt;一&gt;

1. adduser 功能说明:新增用户帐号. 语 法:adduser 补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号.在Red Hat Linux中,adduser指令则是useradd指令的符号连接,两者实际上是同一个指令. 2. chfn(change finger information) 功能说明:改变finger指令显示的信息. 语 法: