目标:
1.通过创建用户、用户组,来分别赋予不同的权限(重点)
2.使用远程管理相关命令,进行远程操作Linux系统(重点、难点)
3.使用系统信息管理命令,快速了解当前系统运行情况(重点)
一、用户、用户组和权限管理
权限:读w、写r、执行x
(1)用户管理:
1. 创建用户: useradd [用户名]
- -d 指定新账户的主目录
- -g 指定用户的所属组
- -G 指定用户的附加组
- -s 指定用户执行登录的shell
- -m 自动创建家目录
useradd -m Test1 # 创建用户,并创建家目录
cat /etc/passwd # 查看所有用户
cat /etc/group #查看所有组
id Test1 #查看Test1的组
案例:创建一个用户hanmeimei需要默认创建家目录,并且指定shell为/bin/bash
- sudo useradd -m -s /bin/bash hanmeimei
2. 删除用户:userdel [用户名]
- -r 删除用户的同时删除家目录
3. 修改用户账号属性id:usermod
- -u 用户id
- -g 所属组id
- -a -G GID 不在使用-a选项,会覆盖此前的附加组
- -d -m 将家目录内容转移至新位置
- -s 该用户账号的新登录
- -l 新的登录名称
# 修改用户所属组的属性id
usermod -g root Test1 # 将root的组赋予Test1
usermod -a -G root Test1 # 将root的组追加给Test1(保留Test1原有组的基础上)
4. 用户切换: su -[用户名]
加-同时切换到用户的家目录,不加直接在当前目录切换到新用户。
问题:添加系统用户zhaoyu,且不允许其登录系统
- useradd -r -s '/sbin/nologin' zhaoyu
(2)用户组管理
1. 创建用户组:groupadd
2. 删除用户组:groupdel
3. 修改组属性:groupmod
- -g Gid
- -n
- 创建用户(useradd)用户时,会默认创建一个与用户名同名的组名
- 创建成功后可在cat /etc/passwd下查看用户,在cat /etc/group查看组
- 新创建的用户没用sudo权限,需要将用户加到 adm,sudo 这两个组中才拥有sudo权限
groupmod -g 1221 Test1 # 将Test1的组改成1221
Gruopmod -n PythonGroup Test1 #改组名
# 将id(Test1) 输出: 组=0(root),1221(Test1) 修改为 id(Test1) 输出: 组=0(root),1221(PythonGroup)
问题:
1. 创建一个用户lilei,其ID号为2002,基本组为stu(id为3000),附加组为Linux
法一:
- sudo useradd -m lilei
- sudo usermod -u 2002 lilei
- sudo usermod -g 3000 lilei
- sudo usermod -G linux lilei
法二:
- sudo groupadd -g 3000 stu
- sudo groupadd linux
- sudo useradd -u 2002 -g stu -G linux lilei
2. 修改lilei的ID号为4004,所属组为linux
法一:
- usermod -u 4004 -g linux lilei
法二:
- useradd -m lilei
- usermod -u 4004 lilei
- usermod -g linux lilei 或 usermod -g 3001 lilei
1. 修改所属组和附加组时,用 usermod -g ,-G
2.删除用户和组:
- 先删除组:groupdel lilei
- 再删除用户:userdel lilei
- 最后删除文件:rm -r lilei
(3)权限管理
命令一:chmod u/g/o+/- rwx 【文件名|目录名】 ,如果是递归目录,chmod -R u/g/o+/- rwx 【文件名|目录名】
- 第一组:u 文件所有者 修改所有者权限:chmod u+/-/= rwx filename
- 第二组:g 文件所有组 修改所属组权限: chmod g+/-/= rwx filename
- 第三组:o 其他用户 修改所属组权限: chmod o+/-/= rwx filename
一旦创建目录或文件,就会有一个默认的权限---这个权限可以手动设置,怎么设置呢?
- 在root中,vim [文件名] 可以创建一个文件,输入内容之后,以 :wq 保存文件
- cat [文件名] 可以浏览文件内容
- chmod u -w fileTest111 # 文件fileTest111,给所有者u 取消写的权限
命令二:chmod 755 【文件名|目录名】
chmod中第一个数字代表所有者权限,第二个数字代表所属组权限,第三个数字代表其他人权限:
权限 | 数字表示法 |
r | 4 |
w | 2 |
x | 1 |
问题:
1. 在桌面新建一个文件a.text,并查看文件的权限
- touch a.text
- ls -l 或 ll
2. 修改文件所属组的权限为只读
- chomd g=r a.text
- chomd g-wx a.text
3. 将a.text文件权限修改为 其他人无任何权限,所有者可读可写,所属组只可读。
- chmod u=rw,g=r,o=--- a.text
- chmod 640 a.text
二、远程管理
ifconfig 查看系统ip地址
ping 命令:检查网络是否正常通信,Linux下默认ping不会结束,使用ctrl+c强制结束
示例:ping www.baidu.com
其他选项:
- ping -c 指定ping几个数据包结束
- ping -i 指定发送数据包的间隔,单位是秒
- ping -s 指定发送数据的大小,单位字节
- ping -t 设置TTL的大小,TTL 网络调数大小
ssh 远程连接
SSH是一种网络协议,用于计算机之间的加密登录。Linux 下默认开启sshd服务,只有开启sshd服务才能进行ssh连接。
可以使用 service sshd status 查看是否开启sshd服务。active(running)表示已经开启。
Windows下连接方式1. Windows下我们借助第三方软件, xshell 或者 putty 来连接。2. xshell和 putty 下载地址:链接: https://pan.baidu.com/s/1kUCyM2r 密码: zypl3. ssh端口号默认: 22
Linux下ssh命令连接方式
- ssh 主机IP地址 -p 端口
- -p可以指定端口。ssh一般使用默认的22。看到提示welcome表示已经连接成功
scp文件复制
scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令
- 使用示例1:把远程的e.txt 文件拷贝到本地/home/python/Desktop下
- 使用示例2:将本地 Desktop/requirements.txt 文件拷贝到远程主机的家目录下
- 使用示例3:scp -r 可以复制文件夹。把当前目录下的demo文件夹 复制到远程目录下的Desktop
- 使用示例4:将远程主机的a文件夹包括子文件,复制到本机的桌面
scp只能在Linux中使用,那我们在Windows下该怎么传文件到Linux呢?
- Windows下往Linux上传下载文件我们可以使用 winscp.
- winscp 下载地址:https://winscp.net/eng/download.php
三、系统信息管理
(1)查看系统时间
- date 查看系统当前时间
(2)查看磁盘空间
- df -TH 查看磁盘分区,以及挂载情况
- du -sh [目录名]查看目录大小
- du -h [文件名] 查看文件大小
(3)查看内核/操作系统/CPU信息
(4)查看进程
top 查看进程实时运行情况,即系统资源实时使用情况,退出top界面输入q
ps 查看系统所有进程的状态