Linux基础知识第七讲,用户权限以及用户操作命令

时间:2023-02-17 21:07:01

Linux基础知识第七讲,用户权限以及用户操作命令

一丶简介linux用户,用户权限,组的概念.

1.1 基本概念

  • 用户 是 Linux 系统工作中重要的一环,用户管理包括 用户 管理
  • 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
  • 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录不同权限
  • 文件/目录 的权限包括:
序号 权限 英文 缩写 数字代号
01 read r 4
02 write w 2
03 执行 excute x 1

1.2 组

  • 在实际应用中,可以预先针对 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

    在Linux以及windows中,学过开发的应该知道.文件都有权限一说. 可读可写可执行.

    linux为了方便用户管理.还可以设置小组. 在这个小组里面的用户所拥有的权限是一样的.

    这样就不用为每一个用户设置操作权限了.

    例如ls命令.我们就可以查看.

1.3 ls命令查看权限.

  • ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:

    • 目录,第 1 个字符如果是 d 表示目录
    • 用户权限,通俗地讲,就是有多少种方式,可以访问到当前目录/文件
    • 组权限,家目录下 文件/目录 的拥有者通常都是当前用户
    • 其它权限,在 Linux 中,很多时候,会出现组名和用户名相同的情况,后续会讲
    • 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件,一串数字.
    • 拥有者名称
    • 组名称
    • 文件大小

结果如下:

Linux基础知识第七讲,用户权限以及用户操作命令

下面用横线标出了.

d代表这个是个目录

rwx 代表当前用户对这个文件/目录 是可读可写可执行 权限每3个一组.

r-x 代表了当前组对这个文件/目录 是可读 可执行

r-x 最后一列则是其它用户对这个文件/目录的 权限.

后面依次跟的就是 硬链接数 当前用户(IBinary) 组名称(IBinary)

一般组名称跟用户名称一样.

在后面就是文件的大小 时间 以及文件名了.

硬连接数解析

硬链接数通俗来讲就是访问这个文件的方式. 我们可以通过绝对路径访问这个文件.或者通过相对路径

访问.都会影响到达这个目录次数.

如有 a空文件夹 那么硬连接数就是2.

我们有两种方式访问a目录.

cd /home/IBinary/Desktop/a 第一种方式到达a目录

cd . 第二种方式到达a目录.

如果a里面有个b目录.那么就要三种方式到达a了.除去上面所说.第三种方式

cd.. 也可以到达a目录.

二丶用户权限修改命令

1.chmod 命令的使用

命令作用:

  • chmod 可以修改 用户/组文件/目录 的权限
  • 命令格式如下:
chmod +/-rwx 文件名|目录名

如:

chmod + rwx a 代表给a目录加权限.

如下图所示:

Linux基础知识第七讲,用户权限以及用户操作命令

修改之后,权限变成了可读可写可执行了.

如果目录可执行权限没有.那么则终端命令不能操作这个目录了.

如果可读权限没有,那么则不能查看里面文件.

如果没有可写权限.那么就不能给目录中创建文件.

总结:

目录的可读权限就是阅读目录,可写权限就是目录中是否可以创建文件

可执行权限,就是终端命令可否操作这个目录.

三丶超级用户,以及组操作.

1.什么是超级用户

  • Linux 系统中的 root 账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限
  • 在大多数版本的 Linux 中,都不推荐 直接使用 root 账号登录系统
  • 在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”

1.1 sudo 命令

  • susubstitute user 的缩写,表示 使用另一个用户的身份
  • sudo 命令用来以其他身份来执行命令,预设的身份为 root
  • 用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码

若其未经授权的用户企图使用 sudo,则会发出警告邮件给管理员

2.组管理

提示:创建组 / 删除组 的终端命令都需要通过 sudo 执行

序号 命令 作用
01 groupadd 组名 添加组
02 groupdel 组名 删除组
03 cat /etc/group 确认组信息
04 chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

有规律的. group代表群组的意思 add就是添加的意思.

etc目录是保存组的配置信息的.

如下图所示:

添加组:

Linux基础知识第七讲,用户权限以及用户操作命令

添加完组之后,组的配置信息会在 /etc/group下. 所以我们查看一下这个文件是否有我们添加的

组的信息

Linux基础知识第七讲,用户权限以及用户操作命令

可以看到.group中已经有我们添加的组了.

提示:

  • 组信息保存在 /etc/group 文件中
  • /etc 目录是专门用来保存 系统配置信息 的目录
  • 在实际应用中,可以预先针对 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

如果不添加sudo 那么就会提示你需要修改 /etc/group文件.

2.1 演练目标.讲一个文件设置到组中

  1. IBinary 用户的桌面文件夹下创建 test 目录
  2. 新建 AAAA
  3. test 目录的组修改为 AAAA

    对应命令:

    mkdir test

    sudo groupadd AAAA

    sudo chgrp -R AAAA test 将test目录设置到AAAA组中.

    如下图所示:

    Linux基础知识第七讲,用户权限以及用户操作命令

四丶添加linux用户,以及删除linux用户

1.命令

提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户
  • -m 自动建立用户家目录
  • -g 指定用户所在的组,否则会建立一个和同名的组
02 passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd 可以修改自己的账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在 /etc/passwd 文件中

提示:

  • 创建用户时,如果忘记添加 -m 选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户名同名的组名
  • 用户信息保存在 /etc/passwd 文件中

在linux中添加用户之后,必须使用passwd 设置这个用户的密码. 否则不能远程连接

添加之后重启,那么你就可以切换用户登录了.

Linux基础知识第七讲,用户权限以及用户操作命令

2.用户命令

序号 命令 作用
01 id [用户名] 查看用户 UID 和 GID 信息
02 who 查看当前所有登录的用户列表
03 whoami 查看当前登录用户的账户名

1.id命令的使用.

id 命令可以查看用户的id以及组的id

如下图:

Linux基础知识第七讲,用户权限以及用户操作命令

uid是用户id

gid就是组id

这些信息都存放在 /etc/passwd文件中. 所以我们要对这个文件存放用户的各式搞明白

使用命令:

cat -n /etc/passwd

显示如下:

Linux基础知识第七讲,用户权限以及用户操作命令

格式依次是:

  1. 用户名
  2. 密码(x,表示加密的密码)
  3. UID(用户标识)
  4. GID(组标识)
  5. 用户全名或本地帐号
  6. 家目录
  7. 登录使用的 Shell,就是登录之后,使用的终端命令,ubuntu 默认是 dash
  8. 了解下即可.

2.who 命令 以及 whoami命令

who顾名思义就是我是谁的意思. 它的意思就是看一下当前用户是谁登录了linux.

whoami就是列出当前所有登录在linux中的用户.

如下演示:

Linux基础知识第七讲,用户权限以及用户操作命令

who显示的是你的用户名,其中后面 (:0) 代表的是当前登录.

whoami就是显示所有登录在这个linux的用户.当你用ssh链接的时候.就会有了.因为当前只有一个

用户.所以就显示了一个.

3.让添加的用户具有sudo权限

我们使用useradd 命令添加的用户.默认是没有sudo权限的. 因为他不在sudo这个组中.

我们可以使用命令 cat -n /etc/group | grep 用户名 过滤一下. 可以看到.用户并没有在

这个文件中.

比如我们的主用户跟添加的用户相比较.

Linux基础知识第七讲,用户权限以及用户操作命令

后面有我们的用户名,代表的是用户.意思就是用户拥有这个权限

我们可以看21行. sudo 后面有ibinary我们的用户名.就代表ibinary这个用户可以有sudo的权限.

我们看下我们添加的用户.

Linux基础知识第七讲,用户权限以及用户操作命令

如果查找我们添加的用户.则没有.

1.usermod 修改用户的附加组.让用户有权限.

  • usermod 可以用来设置 用户主组附加组登录 Shell,命令格式如下:
  • 主组:通常在新建用户时指定,在 etc/passwd 的第 4 列 GID 对应的组
  • 附加组:在 etc/group 中最后一列表示该组的用户列表,用于指定 用户的附加权限

提示:设置了用户的附加组之后,需要重新登录才能生效!

# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名 # 修改用户的附加组
usermod -G 组 用户名 # 修改用户登录 Shell
usermod -s /bin/bash 用户名

注意:默认使用 useradd 添加的用户是没有权限使用 sudoroot 身份执行命令的,可以使用以下命令,将用户添加到 sudo 附加组中

usermod -G sudo 用户名

注意: 用户的主组是通过 useradd -g指定的.这个组一般不会改. 我们修改的是用户的附加组.所以选项不一样

都是用大 G选项. 而不是 小g选项. 一般修改的就是用户的附加组.

可以理解为: 小g是代表你这个用户在一个小组里面. 大G代表的是,你还在这个小组里面.只不过你的权限高了.

我给你提升权限了.

如下:

Linux基础知识第七讲,用户权限以及用户操作命令

可以看到上图,我们的sudo组中,已经有zhangsan用户了. 那么以后我们做系统维护的话.zhangsan就可以使用

sudo权限了.

2.usermod 修改用户默认登录的shell

看标题可能不懂,那么说一下. 在我们linux中有终端. 终端就是shell 不过终端使用的shell是

bash. 而我们还有一种是dash. dash的话只会显示一个$符号. bash则会全部显示.

而且可以解决一个问题.就是你按 ↑箭头的时候.可以显示出你以前的命令. 但是dash不可以.

putty xshell登录的时候.默认就是dash. 所以有时候会出现你敲过的命令 按↑键的话则会出现乱码.

修改一下即可.

命令:

usermod -s /bin/bash 用户名

如下:

Linux基础知识第七讲,用户权限以及用户操作命令

我们修改为bash即可.否则就会出现上面乱码情况.

4.which 查看命令所执行位置的路径

which命令很简单.可以查看你的命令是在那个目录.

如我们的passwd. 一个是在/etc/bin 另一个就是/usr/bin/passwd.

一个是保存用户信息的文件.一个是用户修改用户密码的程序.

  • which 命令可以查看执行命令所在位置,例如:
which ls

# 输出
# /bin/ls which useradd # 输出
# /usr/sbin/useradd

1.命令存放目录简介

  • Linux 中,绝大多数可执行文件都是保存在 /bin/sbin/usr/bin/usr/sbin
  • /binbinary)是二进制执行文件目录,主要用于具体应用
  • /sbinsystem binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/binuser commands for applications)后期安装的一些软件
  • /usr/sbinsuper user commands for applications)超级用户的一些管理程序

提示:

  • cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用 which 无法找到 cd 命令的位置

5.用户切换

有的时候,一个用户没有的权限.我们可以切换到另一用户使用.

命令格式如下:

序号 命令 作用 说明
01 su - 用户名 切换用户,并且切换目录 - 可以切换到用户家目录,否则保持位置不变
02 exit 退出当前登录账户
  • su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全
  • `exit 可以退出当前切换的用户.返回上一层用户.

    Linux基础知识第七讲,用户权限以及用户操作命令

    可以直接切换到root用户. 切换之后,就不用使用sudo命令了.

6.权限修改总结

linux中我们可以修改组, 文件权限. 也可以修改拥有者.

如下:

序号 命令 作用
01 chown 修改拥有者
02 chgrp 修改组
03 chmod 修改权限
  • 命令格式如下:
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名 # 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名 # 递归修改文件权限
chmod -R 755 文件名|目录名
  • chmod 在设置权限时,可以简单地使用三个数字分别对应 拥有者其他 用户的权限
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

可以用ls -l 查看详细权限.

Linux基础知识第七讲,用户权限以及用户操作命令的更多相关文章

  1. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  2. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  3. Linux基础知识第四讲,文件内容命令

    目录 一丶常用命令 1.cat命令演示以及常用选项 2.grep 搜索命令的使用 3.echo 以及 重定向的使用 4.管道概念 一丶常用命令 序号 命令 对应英文 作用 01 cat 文件名 con ...

  4. Linux基础知识之文件的权限(一)

    Linux基础知识之文件权限(一) Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性.所以,设置文件的权限管理变得尤为重要. 权限讲解 [der@Der ~ ...

  5. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  6. linux基础知识的总结

    例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结 ...

  7. (转)Linux基础知识学习

    Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...

  8. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  9. 运维之linux基础知识(一)

    运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...

随机推荐

  1. Jexus 服务器部署导航

    说明:本索引只是方便本人查找,不涉及版权问题,所有博客,还是到元博客地址访问. <script async src="//pagead2.googlesyndication.com/p ...

  2. 用队列模拟jquery的动画算法

    Aaron最近疯狂的爱上了算法研究,估计又要死伤不少脑细胞了,我喜欢捡现成的,可以省些力气.发现他写的一段源码,运行一下,还蛮好玩的,于是拿来分析一下,一来吸收下里边的营养,二来加深一下源码学习的功力 ...

  3. 畅通工程续——E

    E. 畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让 ...

  4. 关于在linux中使用图形界面的网络管理工具

    有好几种自动设置的工具可以选择(既然说是自动设置的工具,那就说明有手动设置的工具,例如 使用 ip, iw, iwconfig 这些命令设置网络),例如:Connman, netctl, Networ ...

  5. ZOJ 3941 Kpop Music Party 贪心

    题目链接: http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3941 题解: 先吧所给的区间合并,得到若干个独立的区间. 然后从左 ...

  6. windows phone 操作 http异步返回结果

    wp中为了提升用户体验,砍掉了http的同步操作,仅支持http异步请求,那么该如何及时处理异步操作返回的结果.纠结了很久,终于在技术群中好友的帮助下解决了问题,借助事件,将异步编程模型模式简单的处理 ...

  7. glsl-UBO

    UBO 是什么?为何要用UBO? 1.数据共享设计 采用Block的原因是: 如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Un ...

  8. servlet中访问mysql无法包含中文的解决

    最近写servlet应用发现,如果我的sql语句中包含英文,访问数据库就失败,而我数据库的编码是utf8 -- UTF-8 Unicode,而我servlet的字符也已经转为UTF-8 ,还是不行. ...

  9. 【LeetCode】Set Matrix Zeroes 解题报告

    今天看到CSDN博客的勋章换了图表,同一时候也添加显示了博客等级,看起来都听清新的,感觉不错! [题目] Given a m x n matrix, if an element is 0, set i ...

  10. Java Restful Web Service 学习指南

    Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...