Linux基础知识第七讲,用户权限以及用户操作命令
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 中,很多时候,会出现组名和用户名相同的情况,后续会讲
- 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件,一串数字.
- 拥有者名称
- 组名称
- 文件大小
- 目录,第 1 个字符如果是
结果如下:

下面用横线标出了.
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目录加权限.
如下图所示:

修改之后,权限变成了可读可写可执行了.
如果目录可执行权限没有.那么则终端命令不能操作这个目录了.
如果可读权限没有,那么则不能查看里面文件.
如果没有可写权限.那么就不能给目录中创建文件.
总结:
目录的可读权限就是阅读目录,可写权限就是目录中是否可以创建文件
可执行权限,就是终端命令可否操作这个目录.
三丶超级用户,以及组操作.
1.什么是超级用户
- Linux 系统中的
root账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限 - 在大多数版本的 Linux 中,都不推荐 直接使用 root 账号登录系统
- 在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”
1.1 sudo 命令
su是substitute user的缩写,表示 使用另一个用户的身份sudo命令用来以其他身份来执行命令,预设的身份为root- 用户使用
sudo时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码
若其未经授权的用户企图使用
sudo,则会发出警告邮件给管理员
2.组管理
提示:创建组 / 删除组 的终端命令都需要通过
sudo执行
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | groupadd 组名 | 添加组 |
| 02 | groupdel 组名 | 删除组 |
| 03 | cat /etc/group | 确认组信息 |
| 04 | chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
有规律的. group代表群组的意思 add就是添加的意思.
etc目录是保存组的配置信息的.
如下图所示:
添加组:

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

可以看到.group中已经有我们添加的组了.
提示:
- 组信息保存在
/etc/group文件中/etc目录是专门用来保存 系统配置信息 的目录
- 在实际应用中,可以预先针对 组 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
如果不添加sudo 那么就会提示你需要修改 /etc/group文件.
2.1 演练目标.讲一个文件设置到组中
- 在
IBinary用户的桌面文件夹下创建test目录 - 新建
AAAA组 - 将
test目录的组修改为AAAA
对应命令:
mkdir test
sudo groupadd AAAA
sudo chgrp -R AAAA test将test目录设置到AAAA组中.
如下图所示:

四丶添加linux用户,以及删除linux用户
1.命令
提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过
sudo执行
| 序号 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 01 | useradd -m -g 组 新建用户名 | 添加新用户 |
|
| 02 | passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
| 03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
| 04 | cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
提示:
- 创建用户时,如果忘记添加
-m选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建- 创建用户时,默认会创建一个和用户名同名的组名
- 用户信息保存在
/etc/passwd文件中
在linux中添加用户之后,必须使用passwd 设置这个用户的密码. 否则不能远程连接
添加之后重启,那么你就可以切换用户登录了.

2.用户命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | id [用户名] | 查看用户 UID 和 GID 信息 |
| 02 | who | 查看当前所有登录的用户列表 |
| 03 | whoami | 查看当前登录用户的账户名 |
1.id命令的使用.
id 命令可以查看用户的id以及组的id
如下图:

uid是用户id
gid就是组id
这些信息都存放在 /etc/passwd文件中. 所以我们要对这个文件存放用户的各式搞明白
使用命令:
cat -n /etc/passwd
显示如下:

格式依次是:
- 用户名
- 密码(x,表示加密的密码)
- UID(用户标识)
- GID(组标识)
- 用户全名或本地帐号
- 家目录
- 登录使用的 Shell,就是登录之后,使用的终端命令,
ubuntu默认是dash - 了解下即可.
2.who 命令 以及 whoami命令
who顾名思义就是我是谁的意思. 它的意思就是看一下当前用户是谁登录了linux.
whoami就是列出当前所有登录在linux中的用户.
如下演示:

who显示的是你的用户名,其中后面 (:0) 代表的是当前登录.
whoami就是显示所有登录在这个linux的用户.当你用ssh链接的时候.就会有了.因为当前只有一个
用户.所以就显示了一个.
3.让添加的用户具有sudo权限
我们使用useradd 命令添加的用户.默认是没有sudo权限的. 因为他不在sudo这个组中.
我们可以使用命令 cat -n /etc/group | grep 用户名 过滤一下. 可以看到.用户并没有在
这个文件中.
比如我们的主用户跟添加的用户相比较.

后面有我们的用户名,代表的是用户.意思就是用户拥有这个权限
我们可以看21行. sudo 后面有ibinary我们的用户名.就代表ibinary这个用户可以有sudo的权限.
我们看下我们添加的用户.

如果查找我们添加的用户.则没有.
1.usermod 修改用户的附加组.让用户有权限.
usermod可以用来设置 用户 的 主组 / 附加组 和 登录 Shell,命令格式如下:- 主组:通常在新建用户时指定,在
etc/passwd的第 4 列 GID 对应的组 - 附加组:在
etc/group中最后一列表示该组的用户列表,用于指定 用户的附加权限
提示:设置了用户的附加组之后,需要重新登录才能生效!
# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录 Shell
usermod -s /bin/bash 用户名
注意:默认使用
useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中
usermod -G sudo 用户名
注意: 用户的主组是通过 useradd -g指定的.这个组一般不会改. 我们修改的是用户的附加组.所以选项不一样
都是用大 G选项. 而不是 小g选项. 一般修改的就是用户的附加组.
可以理解为: 小g是代表你这个用户在一个小组里面. 大G代表的是,你还在这个小组里面.只不过你的权限高了.
我给你提升权限了.
如下:

可以看到上图,我们的sudo组中,已经有zhangsan用户了. 那么以后我们做系统维护的话.zhangsan就可以使用
sudo权限了.
2.usermod 修改用户默认登录的shell
看标题可能不懂,那么说一下. 在我们linux中有终端. 终端就是shell 不过终端使用的shell是
bash. 而我们还有一种是dash. dash的话只会显示一个$符号. bash则会全部显示.
而且可以解决一个问题.就是你按 ↑箭头的时候.可以显示出你以前的命令. 但是dash不可以.
putty xshell登录的时候.默认就是dash. 所以有时候会出现你敲过的命令 按↑键的话则会出现乱码.
修改一下即可.
命令:
usermod -s /bin/bash 用户名
如下:

我们修改为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 /bin(binary)是二进制执行文件目录,主要用于具体应用/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理/usr/bin(user commands for applications)后期安装的一些软件/usr/sbin(super user commands for applications)超级用户的一些管理程序
提示:
cd这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置
5.用户切换
有的时候,一个用户没有的权限.我们可以切换到另一用户使用.
命令格式如下:
| 序号 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 01 | su - 用户名 | 切换用户,并且切换目录 | - 可以切换到用户家目录,否则保持位置不变 |
| 02 | exit | 退出当前登录账户 |
su不接用户名,可以切换到root,但是不推荐使用,因为不安全- `exit 可以退出当前切换的用户.返回上一层用户.

可以直接切换到root用户. 切换之后,就不用使用sudo命令了.
6.权限修改总结
linux中我们可以修改组, 文件权限. 也可以修改拥有者.
如下:
| 序号 | 命令 | 作用 |
|---|---|---|
| 01 | chown | 修改拥有者 |
| 02 | chgrp | 修改组 |
| 03 | chmod | 修改权限 |
- 命令格式如下:
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
# 递归修改文件权限
chmod -R 755 文件名|目录名
chmod在设置权限时,可以简单地使用三个数字分别对应 拥有者 / 组 和 其他 用户的权限
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名
可以用ls -l 查看详细权限.
Linux基础知识第七讲,用户权限以及用户操作命令的更多相关文章
- Linux基础知识第八讲,系统相关操作命令
目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...
- Linux基础知识第六讲,远程管理ssh操作
目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...
- Linux基础知识第四讲,文件内容命令
目录 一丶常用命令 1.cat命令演示以及常用选项 2.grep 搜索命令的使用 3.echo 以及 重定向的使用 4.管道概念 一丶常用命令 序号 命令 对应英文 作用 01 cat 文件名 con ...
- Linux基础知识之文件的权限(一)
Linux基础知识之文件权限(一) Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性.所以,设置文件的权限管理变得尤为重要. 权限讲解 [der@Der ~ ...
- Linux基础知识第九讲,linux中的解压缩,以及软件安装命令
目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...
- linux基础知识的总结
例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结 ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Linux基础知识入门
[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...
- 运维之linux基础知识(一)
运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...
随机推荐
- 关于resharper激活
resharper 是一款非常强大的vs辅助开发插件,提供了很多快捷操作功能,本人已经离不开它了,但是resharper总会遇到lincese过期,需要激活的问题,现在提供以下方式,仅供参考 1.打开 ...
- 我的 FPGA 学习历程(13)—— 电子钟项目
在秒表上一些其他模块就可以变成电子钟了,使用以下约定: 使用 KEY[0] 作为复位按键,复位后显示 00:00. 使用 KEY[1] 作为调整/暂停按键,暂停时电子钟调整的两个灯管保持 1Hz 的频 ...
- pycharm下虚拟环境建立,django项目建立等情况说明
- css实现中文换行,英文换行,超出省略
英文换行时,是以单词换行,在对应的标签添加对应的属性即可 1 word-break:break-all;只对英文起作用,以字母作为换行依据 2 word-wrap:break-word; 只对英文起作 ...
- redis + cookies 实现持久登入
通过登入把用户信息和token加载到redis中去, 将token和部分用户信息存储在cookie中, 下次登入时 判断cookie的token在redis中是否存在, 存在就把用户信息加载出来自动登 ...
- DOM与BOM
DOM 1.概念起源: 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结 ...
- php解析ini,conf文件
/** * 解析conf文件,类似ini文件 * @param string $strFileName 文件名 * @param boolean $boolParseVal 解析值为数组,多 * @a ...
- 929. Unique Email Addresses
929. Unique Email Addresses Easy 22766FavoriteShare Every email consists of a local name and a domai ...
- HBuilder git使用-分工合作
1.初始项目的创建 创建好项目,在项目名上右键,Team->共享 完成后,就实现了本地仓库的建立,另外你要注意现在创建的项目所有文件变成了红色,Git Repositories视图列出了相应的本 ...
- PTA第三次作业
---恢复内容开始--- 题目 7-1 计算职工工资 1.设计思路 (1)第一步:观察题意了解各个参数与所需函数在题目中的意义: 第二步:设计算法编写函数,让函数的功能实现题目中所需的功能: 第三步: ...