Linux学习笔记(3)基本命令Part3——用户和组管理
本节的关键是查看、修改用户权限。
在一开始,我先介绍一下权限号怎么理解,再进入到本期的命令学习。
首先,用命令ls -l
查看当前目录下的文件/文件夹权限:
假设看到下列内容:
-rw-rw-r--. 1 root DeptIS 19 Nov 9 15:15 readme.sie
drw-r----x. 2 root root 6 Nov 9 15:21 test1
请关注到每行开头的那一大串:
首先,第一个字母是表示文件类型的(这个在linux学习笔记(2)有提到过),如第一行“-”开头表示是文件,第二行“d”开头表示是目录文件(文件夹)。
接下来,首字母后的剩下一大串就是权限了:
将其以3个字符为单位进行划分,可以分成3组,分别作为所有者(user)、用户组(group)、其他人(others)的权限。
r:可读(设置权限时用数字4表示)
w:可写(数字2)
x:可执行(数字1)
-:无相关权限
eg1:rw-rw-r--
:
可以分成rw-、rw-、r–:表示user可读可写,group可读可写,其他人可读
eg2:rw-r----x
:
可以分成rw-、r–、--x:表示user可读可写,group可读,其他人可执行
那么,上面说的设置权限时,用4表示r,用2表示w,用1表示x是怎么回事呢?
先需要知道,我们可以用类似于下面这样的命令设置文件的权限:
[root@localhost pub]# chmod 640 readme.ito
看到这个命令中的数字640了吗?它表示了user、group和others的权限。
user的权限 = 6 = 4+2 ——可读可写
group的权限 = 4 ——可读
others的权限 = 0 ——没有任何权限
发现了吗?其实就是把这个三位数拆分成三位,然后用4、2、0做加法,得出各自的权限是多少就ok啦。
好啦,进入正题,下面是本次的练习题。
==========================================================
(1)启动计算机,使用自己创建的用户登录系统。
(2)使用su - root命令切换到root用户。
su
(3)使用cat /etc/passwd命令查看当前系统用户的信息
[root@localhost ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin……(此处省略若干行)chrony:x:998:996::/var/lib/chrony:/sbin/nologin
helen:x:1000:1000::/home/helen:/bin/bash
a:x:1001:1001::/home/a:/bin/bash
b:x:1002:1002::/home/b:/bin/bash
(4)使用grep hx /etc/passwd命令确认系统中是否已有hx用户。查询结果显示不存在这个用户,因此使用useradd hx命令创建了这个新用户,并使用passwd hx为其设置初始密码123456。
//查询一个不存在的用户hx:什么都不会显示
[root@localhost ~]# grep hx /etc/passwd//查询一个存在的用户helen
[root@localhost ~]# grep helen /etc/passwd
helen:x:1000:1000::/home/helen:/bin/bash
[root@localhost ~]# useradd hx
[root@localhost ~]# passwd hx
(5)使用命令将hx用户加入到信息安全系用户组中。
//新建信息安全系组DeptIS
[root@localhost ~]# groupadd DeptIS//将hx用户加入到信息安全系用户组中
[root@localhost ~]# usermod -g DeptIS hx//查看用户hx在哪个组
[root@localhost ~]# groups hx
hx : DeptIS
(6)切换到/ito/pub目录,新建示例文件readme.ito。/ito/pub目录中保存的是软件学院的公共文件,本学院的所有老师都能读取文件的内容,但只有系统管理员华老师本人可以修改文件。另外,其他学院的老师无法读取文件内容。
//创建路径、文件
[root@localhost ~]# mkdir ito
[root@localhost ~]# cd ito
[root@localhost ito]# mkdir pub
[root@localhost ito]# cd pub
[root@localhost pub]# ls -l
total 0
[root@localhost pub]# touch readme.ito
**【分析】**所有老师都能读取文件的内容,但是只有华老师本人(用户hx)才能修改文件
——同组成员(group,本学院的所有老师)只有读取权限,而所有者(user,系统管理员)有读取、修改的权限
//查看文件原来的权限
[root@localhost pub]# ls -l readme.ito
-rw-r--r--. 1 root root 0 Nov 9 14:02 readme.ito//新建用户组:软件学院InstillSoftware
[root@localhost pub]# groupadd InstSoftware//将hx加入到用户组InstSoftware。如果不需要留在原来的用户组,则可以直接使用 -g 选项:usermod -g InstSoftware hx
[root@localhost pub]# usermod -a -G InstSoftware hx
[root@localhost pub]# id hx
uid=1003(hx) gid=1004(DeptIS) groups=1004(DeptIS),1006(InstSoftware)//将文件readme.ito的所有者改为hx
[root@localhost pub]# chown hx readme.ito
[root@localhost pub]# ls -l
total 0
-rw-r--r--. 1 hx root 0 Nov 9 14:16 readme.ito//将文件的readmen.ito的所属用户组改为InstSoftware
[root@localhost pub]# chgrp InstSoftware readme.ito
[root@localhost pub]# ls -l
total 0
-rw-r--r--. 1 hx InstSoftware 0 Nov 9 14:16 readme.ito//修改文件的权限
[root@localhost pub]# chmod 640 readme.ito//查看当前的用户权限,发现:所有者有读写权限,用户组有读权限,其他人没有任何权限
[root@localhost pub]# ls -l readme.ito
-rw-r-----. 1 root root 0 Nov 9 14:02 readme.ito
检验一下:
//创建一个用户teacher
[root@localhost pub]# useradd teacher
[root@localhost pub]# passwd teacher
[root@localhost pub]# su teacher//此时,用户teacher还不在用户组InstSoftware中,所以不能读取
[teacher@localhost pub]$ cat readme.ito
cat: readme.ito: Permission denied//将用户teacher加入用户组InstSoftware
[teacher@localhost pub]$ su
[root@localhost pub]# usermod -a -G InstSoftware teacher
[root@localhost pub]# su teacher[teacher@localhost pub]$ id teacher
uid=1005(teacher) gid=1007(teacher) groups=1007(teacher),1006(InstSoftware)//现在,用户teacher可以读readme.ito文件了
[teacher@localhost pub]$ cat readme.ito//但用户teacher不可以写readme.ito文件
[teacher@localhost pub]$ echo 'test by teacher' > readme.ito
bash: readme.ito: Permission denied
(7)使用su – hx命令切换到hx用户。使用vim打开readme.ito文件,可以正常打开,但尝试修改时提示只有读权限。使用exit命令退出hx用户,返回root用户。
(老师给的这道题也真是迷……前面明明已经给hx用户加了读写权限了?所以本题我用只有读权限的用户teacher实现了)
vi
:打开vim文本编辑器
[teacher@localhost pub]$ vi readme.ito
可以进入vim编辑器的页面(如下图),但如果按下i(想进入insert模式进行修改时),则会弹出只可读的Warning(如下图)。如果还试图强行更改,则会报错。
(8)切换到/ito/sie/pub目录,新建示例文件readme.sie。/ito/sie/pub目录中保存的是信息安全系的公共文件,本系的所有老师都可以读写这些文件,而其他系的老师只能读取文件内容。
[root@localhost ~]# cd ito
[root@localhost ito]# mkdir sie
[root@localhost ito]# cd sie
[root@localhost sie]# mkdir pub
[root@localhost sie]# cd pub[root@localhost pub]# touch readme.sie[root@localhost pub]# chgrp DeptIS readme.sie[root@localhost pub]# chmod 664 readme.sie
[root@localhost pub]# ls -l
total 0
-rw-rw-r--. 1 root DeptIS 0 Nov 9 14:59 readme.sie
(9)分别切换到hx和自己创建的用户用户,并尝试对readme.sie进行读和写操作。
//新建一个用户组DeptSE(软件安全系)
[root@localhost pub]# groupadd DeptSE//新建用户teacher1,并将其加入到软件安全系
[root@localhost pub]# useradd teacher1
[root@localhost pub]# usermod -a -G DeptSE teacher1
(后面的验证过程和结果就不赘述了)
(10)分别在/ito/pub和/ito/sie/pub两个目录中建立一个子目录,并对其进行不同权限的设置,使用不同的用户进行验证,加深对普通文件和目录权限管理的理解。
具体实现就不赘述了,按上面九题涉及的知识点就可以实现。
核心是修改权限。
不管是修改文件权限,还是文件夹权限,本命令都适用:chmod [权限号] [文件名/文件夹名]
//举个栗子
[root@localhost pub]# chmod 640 readme.ito
Linux学习笔记(3)基本命令Part3——用户和组管理相关推荐
- linux 用户加入次要群组,linux学习笔记之 帐号和群组管理
/etc/passwd 用户名:用户密码:UID:GID:说明:家目录:使用的shell 1. 账号名称: 就是账号啦!用来对应 UID 的.例如 root 的 UID 对应就是 0 (第三字段 ...
- 【Linux学习笔记22】mysql数据库的基本管理
文章目录 1. 数据库的介绍 2. 安装mysql并启用 3. 软件基本信息 4. 数据库的安全初始化 4.1 关闭数据库开放端口 4.2 执行安全初始化脚本 5. 数据库基本管理 5.1 数据库查看 ...
- Linux学习笔记004----CentOS7 提升普通用户权限到Root权限
打开终端 输入 sudo -i 然后输入当前用户的密码: 或者打开终端输入 su root 然后输入root用户密码: 这两种方式都能获取root权限. 或者用root用户登陆系统. root用户只能 ...
- linux让指定文件具有sudo的权限,Linux学习笔记——使用指定的用户权限执行程序——sudo...
sudo可以用来以其他用户身份执行命令,sudo命令可以针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性. 1:sudo的帮助信息如下: [emai ...
- Linux学习笔记重新梳理20180702 之 yum软件包管理器
2019独角兽企业重金招聘Python工程师标准>>> Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中 ...
- Linux学习笔记(二)(Vim文本编辑器 权限管理(用户,用户组) 系统相关(磁盘,进程))
Linux学习笔记(二) 5.账号管理 概述 一.用户账号管理 概述 1. 添加账号 :useradd(`useradd 选项 用户名`) 2. 删除帐号(`userdel 选项 用户名`) 3. 修 ...
- Linux 学习笔记2 常用命令
Linux 学习笔记1 安装linux详细教程_O丶ne丨柒夜的博客-CSDN博客 Linux_目录结构 基本介绍 1.liux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录&quo ...
- I.MX6ULL ARM Linux学习笔记
I.MX6ULL ARM Linux学习笔记 写在前面 S1:U-Boot S2:正点原子U-Boot编译 S3:U-Boot基本命令第1讲:help.bdinfo和环境变量命令 S4:U-Boot基 ...
- linux学习笔记2.0
ilinux学习笔记 Linux哲学思想 一切都是一个文件(包括硬件) **小型,单一用途的程序 ** **链接程序,共同完成复杂的任务 ** **避免令人困惑的用户界面 ** 配置数据存储在文本中 ...
最新文章
- matlab arr3(5 end),matlab复习笔记.doc
- Day16 os模块、time模块、random模、math模块
- P1207 双重回文数
- main函数解析(一)——Linux-0.11 学习笔记(五)
- java epoll select_春招|Java开发实习面经(口头offer),感谢快手给我这个双非一次机会!...
- [转]详细讲解提高数据库查询效率的实用方法、外键关于性能
- 为什么要使用 Kubernetes 准入控制器
- java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...
- Qt字符串转日期时间-毫秒
- php5.5开发环境配置,windows下配置php5.5开发环境及开发扩展
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- git配置取消代理_「高手」如何优雅的解决 git 超时
- 使用opencv-python画OpenCV LOGO
- Apache自带的ab压力测试工具
- ISO 639-1語言列表
- wifi分析仪怎么看哪个信道好_一定得学的切换WiFi信道技巧,让你的网速如飞!...
- 微信小程序获取云数据库数据并对其进行排序
- [整理]VS2010中文版配置opencv2.4.8
- bzoj 3653 [湖南集训]谈笑风生
- 关于商品详情页接口流程编排框架的一点实践