导图社区 Linux
用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
编辑于2019-05-07 06:38:54Linux
命令
CentOS Linux 7系统的安装与介绍
reboot
重启
shutdown
重启或关机
halt
关机
uname
查看Linux内核版本
df
查看文件系统的磁盘大小和剩余空间大小
uptime
查看系统运行时间
free
系统内存使用
top
CPU使用情况和正在运行的进程情况
last
查看登录日志信息
w
查看当前用户信息
cal
显示日历或年历
date
显示或设置系统当前日期和时间
文件系统
mkdir
创建新目录
cd
pwd
ls
列出一个或多个目录下的内容
touch
创建一个新的空文本文件,若文件存在,则更新其被访问和修改的时间
cp
目录或文件的复制
mv
移动或重命名文件及目录
rm
删除文件或目录
rmdir
删除目录
find
查找文件
man
查看帮助文档
info
查看帮助信息
查看文件内容
more
less
cat
head
tail
grep
查询字符串
mount
挂载文件系统
umount
卸载文件系统
fuser
查看正在使用该文件系统的用户信息
fdisk
操作硬盘分区表
alias
设置别名
alias new_name='original_name'
unalias
取消别名
unalias new_name
history
显示历史命令
用户和用户组
useradd
创建用户
usermod
修改用户账户
userdel
删除用户
passwd
管理用户登录密码
只有root用户才能设定指定用户的密码
普通用户只能设置自己的密码
groupadd
创建用户组
groupmod
修改用户组属性
gpasswd
维护组中成员
groups
查看用户所属用户组
id
查看用户的UID和GID
whoami
查看当前登录用户
who
查看登录用户
last
查看登录例视
change
修改用户口令有效期
chfn
修改用户注释信息
chsh
修改用户Shell类型
chmod
修改文件访问权限
chown
修改文件所有者
su
切换用户
sudo
提升权限
要在/etc/sudoers中配置
服务与进程
ln
在文件之间创建连接
-s为符号连接(软连接)
默认为硬链接(类似引用)
systemctl set-default name.target
修改默认的运行级别
systemctl
服务的启动,停止,重启和查询
system {enable|disable|reset} service_name
设置自启动,设置不自启动,恢复默认
P85
ntsysv
设置服务的自启动
空格 tab F1 和方向键操作
at
延迟调度命令
crontab
周期调度命令
ps
查看进程
ps aux
查看所有用户进程信息
pstree
查看进程继承关系
kill
通过pid终止进程
killall
通过进程名终止进程
jobs
查看后台运行或者被挂起的进程
bg
将被挂起的进程调到后台运行
fg
将被挂起的进程调到前台运行
命令后加上&
直接再后台启动一个新的命令
软件安装与包管理工具
rpm
-ivh 安装
-q 查询是否安装
-Uvh 升级
-e 卸载
P96
hwclick
将时间更新写入CMOS时间
yum
改进版RPM软件管理器
P103
createrepo
创建自定义YUM源
tar
包管理工具
P105
网络连接
hostname
设置临时主机名
hostnamectl
设置永久主机名
ifconfig
查看网卡信息,设置网卡临时信息
ifup
启动网卡
ifdown
禁用网卡
ping
测试网络畅通与质量
netstat
查看当前服务器打开的与网络相关的程序数量以及他们使用的协议类型
P116
traceroute
查看当前计算机与指定计算机之间数据包的传输路径
nslookup
检查指定的DNS服务其是否能够解析域名和IP地址
Shell编程入门
Centos Linux7系统的安装与介绍
Linux系统特点
开放
多用户多任务
具有出色稳定性和速度性能的系统
具有可靠安全性的系统
提供丰富网络功能的系统
具有标准兼容性和可移植的系统
兼容POSIX(Portable Operating System Interface)
提供良好的用户界面的系统
Linux系统的组成
Linux内核
Linux Shell
Linux文件系统
Linux应用程序
虚拟文本控制台(tty)(虚拟终端)
Linux系统默认提供5个虚拟文本控制台(tty1~tty5)通过组合键Alt+F2~Alt+F6来切换),Ctrl+Alt+F1切换为图形界面。
Shell(命令解释器)
BASH(GNU的Bourne Again Shell)
Bourne Shell
Korn Shell
C Shell
命令提示行
[root@localhost root]#
[当前用户名@Linux主机名 当前目录名]命令提示符
命令提示符
#
管理员的命令提示符
$
普通用户的命令提示符
远程连接
Telnet
安全外壳协议(Secure Shell,SSH)
文件系统
类型
xfs
Centos Linux7 默认文件系统
ext2
Linux自带文件系统
ext3
基于ext2,增加了日志功能
Reiserfs
swap
交换分区的文件系统
nfs
网络文件系统
常用目录介绍
/bin
存放系统常用命令,这个目录中文件都是可执行的,普通用户可以使用
/dev
设备文件存储目录
/boot
存放Linux内核及引导系统程序的文件
/etc
存放系统配置文件,包括服务器的配置文件
/etc/init.d
存放系统或服务器启动的脚本
/home
普通用户主目录的默认存放位置
/lib
库文件的存放目录
/tmp
临时文件目录
/usr
系统存放程序的目录
/usr/bin
存放可执行程序的目录,普通用户有权限执行
/usr/sbin
存放可执行程序的目录,root权限可执行
/usr/local
存放用户自编译安装软件,一般通过源码包安装的软件
/usr/share
存放系统公用文件的目录
/usr/src
存放内核源码的目录
/usr/include
存放程序头文件
/var
此目录的内容经常变动
/var/log
存放系统日志文件
特殊目录
.
当前工作目录
..
父目录
~
用户主目录
-
前一个工作目录
vim
命令模式
输入模式
末行模式
管道命令
将一个命令的输出当作另一个命令的输入
重定向命令
标准输入输出
stdin
标准输入设备端口,命令的输入都从其获取,默认是键盘
stdout
标准输出设备端口,命令的执行结果都向其输出,默认是显示器
stdeer
标准错误设备端口,命令执行过程中出现的错误信息都向其输出,默认是显示器
常用符号
>
输出重定向。如果原来目标文件存在,则新的内容会覆盖文件中原有的内容
>>
输出重定向,不覆盖文件原有内容
<
输入重定向
2>
错误重定向
&>
输出重定向和错误重定向
文件系统的自动挂载
mount命令挂载的文件系统在关机时会被自动卸载,下次开机时不能自动加载。
配置/etc/fstab使系统自动挂载的配置文件。
用户和用户组
用户和用户组的概念
三种用户角色
超级用户
拥有对系统的最高管理权限,默认为root用户
普通用户
只能对自己目录下的文件进行访问和修改,具有登录系统的权限
虚拟用户
不能登录系统,存在的目的是便于系统管理,满足相应的系统进程对文件属主的要求。
用户和组的关系
一对一
一对多
多对多
主要组
如果一个用户属于多个组,那么记录在/etc/passwd文件中的组成为该用户的主组
附属组(补充组)
用户所属组中,不是主要组的其他组
与用户管理相关的系统文件
/etc/passwd
用户信息配置文件
存放用户信息,每个合法的用户对应一行记录,这行记录定义了用户的属性
由于所有用户对passwd都由读取权限,所以密码信息保存在/etc/shadow中
每行由7个字段构成,用";"分隔。
从左到右为
用户名
用户登录系统时使用的账号名
口令
存放加密的口令,口令是x表示用户的口令是被/etc/shadow文件保护的
用户标识号(UID)
每个用户有唯一的UID
root用户的UID为0
普通用户UID的默认值为1000~60000
由操作系统创建的系统用户的UID从0~200
由用户创建的系统用户的UID从201~999
用户组标识号(GID)
系统内部由它来表示用户所属的组,如果用户属于多个组,则这里的GID是主组GID
普通用户组的GID默认值从1000~60000
由操作系统创建的系统用户组的GID从0~200
由用户创建的系统用户组的UID从201~999
注释性描述
为了方便管理和记忆该用户而添加的信息,如存放用户全名等信息
用户主目录
用户登录系统后所进入的目录
命令解释器
指示该用户使用的Shell,CentOS Linux 7默认的是bash。
如果指定Shell为/sbin/nologin,则代表词用胡为虚拟用户,无法登录系统
/etc/shadow
用户密码配置文件
为了加强系统安全性而提供的专门的密码管理文件
一行对于一个用户密码信息,由9个字段构成,由";"分隔,从左到右为
用户名
密码
用户的加密密码
最后一次修改的时间
从1970年1月1日其,到用户最后一次更改密码的天数。
最小时间间隔
从1970年1月1日起,到用户可以更改密码的天数
0表示随时可以更改
最大时间间隔
从1970年1月1日其,到必须更改密码的天数
99999表示永远不过期
警告时间
在密码过期之前多少天提醒用户更新
默认为7天
不活动时间
在用户密码过期之后到禁用账号的天数
失效时间
从1970年1月1日起,到账号被禁用的天数
标志
保留位
只有root用户可读
/etc/group
用户组配置文件
分组时系统对用户进行管理以及访问权限控制的一种手段
一个组中可以由多个用户,一个用户也可以属于多个组
一行对应一个用户组的信息,每行由4个字段构成,从左到右为
组名
组口令
x表示配/etc/gshadow文件保护的
组标识号
表示用户组,每个用户组的GID都是唯一的
组成员
/etc/gshadow
用户组密码配置文件
用于定义用户组口令,组管理员等信息,对root用户可读
4个字段,从左到右为
组名
组口令
组的管理员账号
组管理员有权对改组添加、删除账号
组成员
多个用户用','分开
文件属性的读取和修改
文件属性
P73
三组从前到后为
文件所有者对该文件拥有的权限
组用户对该文件拥有的权限
其他用户对该文件拥有的权限
7种文件类型
目录文件
d
符号链接
l
套接字文件
s
块设备文件
b
字符设备文件
c
管道文件
p
普通文件
服务与进程
Linux系统的启动过程
计算机主机加电后,CPU初始化自身,结者在硬件固定位置执行一条指令,这条指令跳转到BIOS,BIOS找到启动设备并获取MBR,MBR指向GRUB
MBR
主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
GRUB
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
BIOS装载并把控制权转交给GRUB,GRUB获得引导过程的控制权后,会显示GRUB提示符。
内核启动systemd进程,该进程将根据default.target引导系统启动并进入指定的运行级别,启动相应的服务程序。
systemd进程执行getty.target及登录服务,等待用户登陆系统
Linux系统的运行级别
7个级别
0
停机
1
单用户模式
2
用户定义运行模式
3
完全多用户模式
4
域特定运行级别,等用于级别3
5
图形界面运行级别
6
重新启动
每个级别的target文件保存在/lib/system/system目录中,运行级别的设置由/etc/system/system/default.target文件指向的文件控制。
每个级别的初始化程序放在/etc/rc.d目录下的特定目录中
可以设置关闭Ctrl+Alt+Del的重启系统快捷键
在/usr/lib/systemd/system/ctrl-alt-del.target中配置
服务
Linux的服务分为独立运行的服务和受xinetd管理的服务两大类
xinetd
xinetd是一个独立运行的服务,负责管理一些不常用的服务,这些不常用的服务被请求时,由inetd服务负责启动运行,完成服务请求,再结束该服务的运行,以减少系统资源的占用。
xinetd服务的配置文件为/etc/xinetd.conf
/etc/xinetd.d目录下由相应的配置脚本文件
Linux中的每个服务都有相应的启动脚本,可用于设置启动,停止,重启和查询服务功能,所有服务脚本都保存在/etc/rc.d/init.d目录中
进程
延迟调度命令
at
crontab
P88
作业控制命令
Ctrl+d
正常终止一个正在前台运行的进程
Ctrl+c
强行终止一个正在前台运行的进程
Ctrl+z
挂起一个正在前台运行的进程
jobs
查看后台运行或者被挂起的进程
bg
将被挂起的进程调到后台运行
fg
将被挂起的进程调到前台运行
&
直接再后台启动运行一个新的命令
kill
杀死进程
软件安装与包管理工具
YUM
Yellow dog Upadate Modifie,
改进版的RPM软件管理器
默认YUM源定义文件再/etc/yum.repos.d目录下
tar
Tape Archive是Linux系统下的包管理工具
P105
网络连接
网络配置文件etc/hostname
网卡在配置文件/etc/sysconfig/network-scripts目录下
网卡设备名
前两个字符
en
以太网
wl
无线局域网
ww
无线广域网
第三个字符
o<index>
板载设备,index为设备序号
s<slot>
热插拔卡槽,slot为设备序号
x<MAC>
物理地址
p<bus>s<slot>
PCI接口物理位置,bus为横坐标,slot为纵坐标
域名解析服务器的配置文件在/etc/resolv.conf
为了避免被覆盖还需要修改/etc/NetworkManager/NetworkManager.conf文件
执行systemctl restart NetworkManager.service重新装在NetworkManager的配置
Shell编程
Shell变量
环境变量
用户自定义变量
引用变量
预定义变量
$#
位置参数的数量
$*
所有位置参数的内容
$?
命令执行后返回的状态
$$
当前进程的进程号
$!
后台运行的最后一个进程的进程号
$0
当前执行的进程名
条件测试
格式
[ 测试表达式 ]
注意方括号与测试表达式之间要一个空格来分隔
测试命令的执行结果
测试文件的状态
参数
P125
测试数据的值
参数
P126
测试字符串
参数
P126
逻辑操作符
流程控制语句
P127
if-else条件语句
if-elif-else条件语句
case条件语句
for循环语句
while语句
until语句
break语句
continue语句
函数
处理参数
位置参数
函数参数
Shell内置命令
狗仔在shell内部,在shell进程下执行