15. Linux权限与远程管理

目标:

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 密码: zypl
3. ssh端口号默认: 22

 Linux下ssh命令连接方式

  1. ssh 主机IP地址 -p 端口
  2. -p可以指定端口。ssh一般使用默认的22。看到提示welcome表示已经连接成功

 scp文件复制

 scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令

  • 使用示例1:把远程的e.txt 文件拷贝到本地/home/python/Desktop
  •  使用示例2:将本地 Desktop/requirements.txt 文件拷贝到远程主机的家目录下
  •  使用示例3scp -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信息

uname -a          # 查看内核/操作系统/CPU信息
uname -i           # 查看硬件平台
uname -m        # 查看cpu
uname -n         # 节点名称
uname -o         # 操作系统
uname -v         # 内核版本
uname -r         # 发行版本号

 (4)查看进程  

top 查看进程实时运行情况,即系统资源实时使用情况,退出top界面输入

ps 查看系统所有进程的状态

命令:ps -ajx 一般使用ps命令带选项ajx 一起使用 。还有 -aux

(5)结束进程 

命令:kill [参数] [进程号] 
kill -9 [进程号] :强制结束进程
kill -15 [进程号] :结束进程,等级没有-9
提示:
Linux1号进程(init进程)是有所有进程的祖先进程,是不能被结束的。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值