Linux系统管理
用户管理
用户管理是 Linux 管理的重要组成部分。有时我们需要创建新用户或将其他用户添加到特定组。另一种可能性是作为不同的用户执行命令。毕竟,只有一个特定组的用户有权查看或编辑特定文件或目录的情况并不少见。反过来,这使我们能够在机器上本地收集更多信息,这可能非常重要。
命令 | 描述
--- | --- |
sudo
| 以不同的用户身份执行命令。
su
| 该su
实用程序通过 PAM 请求适当的用户凭据并切换到该用户 ID(默认用户是超级用户)。然后执行一个shell。
useradd
| 创建新用户或更新默认的新用户信息。
userdel
| 删除用户帐户和相关文件。
usermod
| 修改用户帐户。
groupadd
| 将组添加到系统。
groupdel
| 从系统中删除一个组。
passwd
| 更改用户密码。
useradd
$ useradd [选项] [用户名]
-
选项
-
-b
创建用户的同时创建家目录 -
-c
添加注释 -
-d
指定用户家目录,如路径不存在添加-m
直接创建 -
-g
指定用户所属组 -
-G
指定用户附加组 -
-s
指定用户的登录 shell, 指定 shell 根路径 -
-u
指定用户 uid ,-o
选项可与已有用户重复
-
-
用户名
userdel
$ userdel [选项] [用户名]
$ userdel -r dark //连同家目录一同删除
usermod
$ usermod [选项] [用户名] //选项与 useradd 相同,为更改操纵
passwd
$ passwd [选项] [用户名]
-
选项
-
-l
锁定口令,禁用账号 -
-u
解锁账号口令 -
-d
删除账号口令
-
-
用户名
包管理
命令 | 描述
| --- | --- |
dpkg
| 用来安装,构建,删除和管理 Debian 软件包的工具。
apt
| 包管理的高级命令行工具
aptitude
| apt 的替代品,包管理器的高级接口
snap
| 安装,配置,刷新和删除 snap 包, Snap支持安全分发适用于云、服务器、桌面和物联网的最新应用程序和实用程序
gem
| Ruby 的标准包管 理器
pip
| Python 的包安装程序
git
| 快速、可扩展、分布式的版本控制系统
APT
配置文件所在位置 /etc/apt/sources.list
常用 ····
DPKG
安装
$ sudo dpkg -i *.deb
Git
$ git cloen https://github.com/xxx/xxx.git /xxx
服务和进程管理
系统服务可分为内部服务,系统启动时需要的相关服务,和用户安装的服务,通常包括所有服务器服务。此类服务在后台运行,无需任何用户交互。这些也被称为 daemons
并由程序名称末尾的字母 d
标识,例如,sshd
、systemd
系统控制
systemd
守护程序,守护进程为 Init process
启动/重启/停止/自启动/关闭自启动
$ systemctl start/restart/stop/enable/disable
列出所有服务
$ systemctl list-units --type=service
查看服务运行日志
$ journalctl -u ssh.service --no-pager
进程管理
进程状态:Running
Waiting
(等待事件或系统资源) Stopped
Zombie
(已停止但进程表仍有条目)
关闭进程
kill
, pkill
, pgrep
,killall
查看所有选项
$ kill -l
常用
序号|描述
|---|---|
1 | SIGHUP当控制它的终端关闭时,这将发送到进程
2 | SIGINT 当用户按下 [Ctrl] + C
中断进程时发送
3 | SIGQUIT 当用户按下 [Ctrl] + D
退出时发送
9 | SIGKILL 立即终止没有清理操作的进程
15 | SIGTERM 程序终止
19 | SIGSTOP 停止程序 不能再处理了
20 | SIGTSTP 当用户按下 [Ctrl] + Z
请求暂停服务时发送。用户可以在以后处理它
后台进程
查看所有后台进程
$ jobs
将进程置于后台
[Ctrl] + Z
$ bg
另一种方法 &
$ ping [ip] &
前台进程
将后台程序移至前台
$ jobs
[1]+ Running ping [ip] &
$ fg 1
执行多个命令
三种可能方式分隔
;
结尾,忽略先前命令的结果和错误来执行命令
&&
,先后顺序执行,期间有错误会停止执行命令
|
,将前一个进程的的输出作为后面的输入
. 添加守护程序配置文件
service
进程管理
kill 9 杀掉pid所在进程
WEB服务
curl
默认安装在大多数Linux系统上,允许我们通过协议从 shell 传输文件,如HTTP
, HTTPS
, FTP
, FTPS
, SCP
。
curl http://localhost