root

现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。

普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户。

此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合。

root的权利

Linux系统的特性就是可以满足多个用户,同时工作,因此Linux系统必须具备很好的安全性。

在安装RHEL7时设置的root管理员密码,这个root管理员就是所有UNIX系统中的超级用户,它拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭进程,开启/禁用硬件设备等等。

因此“能力越大,责任越大”,root权限必须很好的掌握,否则一个错误的命令可能会摧毁整个系统。

root为什么叫root?

在Linux系统中,用户也有自己的UID身份账号且唯一

系统管理员UID为0

系统用户UID为1~999 Linux安装的服务程序都会创建独有的用户负责运行。

普通用户UID从1000开始:由管理员创建

用户组GID

为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。

假设有一个公司中有多个部门,每个部门中又 有很多员工。如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设 置权限。

例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的 数据库信息等。

Linux管理员在创建用户时,将自动创建一个与其同名的用户组,这个用户组只有该用户一个人

root:默认在Unix/linux操作系统中拥有最高的管理权限。可以理解为qq群的群主

普通用户:是管理员或者具备管理权限的用户所创建的,只能读、看,不能增、删、改。

创建普通用户

useradd 用户名
passwd 用户名
# 会提示输入密码

id命令查看用户的身份信息

id 用户名

例如:

通过root用户新建普通用户,uid是从 1000开始的,系统服务的用户,默认是在1-1000以内的,root的uid和gid都是0

su - 用户名 切换用户

语法: su - 用户名

su - kingfan    #root切换普通用户不需要输入密码
su - root #普通用户切换root需要输入root密码



切换为root用户需要输入root用户的密码

sudo命令,使用root的身份去执行命令

使用sudo命令的配置过程
1.编辑 sudoers 文件,添加alex用户
vim /etc/sudoers 使用vim命令编辑配置文件
visudo 提供语法检测,更为友好 2.添加kingfan用户,让它可以使用root身份
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
kingfan ALL=(ALL) ALL

这样我们就可以临时获取root的权限执行命令

sudo ls /root

文件权限相关

首先看下文件的相关信息





解读上图:

权限,第一个字母为文件类型,后续9个字母,每3个一组,是三种身份的权限

文件链接数

文件拥有者-属主

文件拥有组-属组

文件大小

最后一次被修改的时间日期

文件名

先来分析一下文件的类型

-    一般文件
d 文件夹
l 软连接(快捷方式)
b 块设备,存储媒体文件为主
c 代表键盘,鼠标等设备
-rw-r--r--. 		1			 root      root         0 Jan  9 08:43		 imroot
可读可写权限 链接数 属主 属组 日期相关 文件名 user 属主 属于某个人的 group 属组 这个用户属于某个组 other 对于既不属于某个用户,也不属于某个组,就是一个其他人的身份 - rw- r-- r--
文件类型 (user属主) (组权限) (其他人权限) - 普通文件
d 文件夹
l 快捷方式,软连接 link 快捷方式 r 可读
w 可写
x 可执行
- 没有权限 - rw- --- ---. 1 root root 1187 Jan 9 09:02 maillog
普通文件 可读可写 组没权限 其他人没权限 属主 属组 对文件的权限来看
r cat
w vim
x 可执行 ,如同 .sh .py 对于目录的权限来看 r 可以ls 可以ls查看文件夹内容
w 可以进入目录,创建文本 touch
x 可进入目录 可以 cd d rwx r-x r-x. 2 root root 6 Jan 9 09:42 liqingyang 对于rwx的权限转化为数字 r 4
w 2
x 1 chmod (change mode 更改权限) chmod u/g/o user
group
other chmod u+r file
chmod u+w file
chmod u+x file chmod g+r file
chmod g+w file
chmod g+x file chmod o+r file
chmod o+w file
chmod o+x file chmod 777 file
rwx rwx rwx
7 user
7 group
7 other chmod 555 file
r-x r-x r-x chmod 666 file
rw- rw- rw- chown 更改文件的属主
chown alex file 更改file的属主是alex
chgrp alex file 更改file的属组是alex

软连接

软连接也叫做符号链接,类似于windows的快捷方式。

常用于安装软件的快捷方式配置,如python,nginx等

ln -s 目标文件  软连接名

1.存在文件/tmp/test.txt
[root@master tmp]# ls -l
-rw-r--r-- 1 root root 10 10月 15 21:23 test.txt 2.在/home目录中建立软连接,指向/tmp/test.txt文件
ln -s /tmp/test.txt my_test 3.查看软连接信息
lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt 4.通过软连接查看文件
cat my_test my_test只是/tmp/test.txt的一个别名,因此删除my_test不会影响/tmp/test.txt,但是删除了本尊,
快捷方式就无意义不存在了

tar解压命令

语法

tar(选项)(参数)
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。

实例

tar -zxvf Python-3.7.0b3.tgz #解压

tar -czvf oldboy.txt.tar.gz oldboy.txt #压缩oldboy.txt
上述命令等于 tar -cvf oldboy.tar oldboy.txt
       gzip oldboy.tar tar -cf all_pic.tar *.jpg #压缩当前目录所有jpg结尾的文件 tar -xjf xx.tar.bz2  #解压缩bz2结尾的文件

gzip命令

gzip用来压缩文件,是个使用广泛的压缩程序,被压缩的以".gz"扩展名
gzip可以压缩较大的文件,以60%~70%压缩率来节省磁盘空间

语法

-d或--decompress或----uncompress:解开压缩文件;
-f或——force:强行压缩文件。
-h或——help:在线帮助;
-l或——list:列出压缩文件的相关信息;
-L或——license:显示版本与版权信息;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;

实例

压缩当前目录所有文件为.gz文件
gzip *
把上例中每个压缩的文件解压,并列出详细的信息
gzip -dv * 显示压缩文件的信息,并不解压
gzip -l *
压缩一个tar备份文件,扩展名是tar.gz
tar -cf my.tar my_first.py
gzip -r my.tar

linux用户、文件权限相关命令的更多相关文章

  1. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  2. Linux(三) - 文件操作相关命令

    Ctl-A 光标移动到行首 Ctl-C 终止命令 Ctl-D 注销登录 Ctl-E 光标移动到行尾 Ctl-U 删除光标到行首的所有字符,在某些设置下,删除全行 Ctl-W 删除当前光标到前边的最近一 ...

  3. Linux常用文件权限控制命令

    一,查看文件属主属组ls -l [root@localhost app]# ls -l total 302832 drwxr-xr-x. 4 lhc lhc 4096 Nov 18 16:05 apa ...

  4. Linux系统用户/用户组/文件权限相关

    目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...

  5. Linux - 用户权限相关命令

    用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要 ...

  6. Linux用户和权限——管理文件权限的命令

    Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...

  7. No-6.用户权限相关命令

    用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要 ...

  8. Linux用户和权限——管理用户和用户组的命令

    Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...

  9. 1.5linux用户权限相关命令

    用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要 ...

随机推荐

  1. 深入理解[Master-Worker模式]原理与技术

    Master-Worker模式是常用的并行模式之一.它的核心思想是,系统由两类进程协作工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负责处理子任务.当各 ...

  2. C# socket实践 - 简易版FTP(Server & Client)

    写了个简易版的ftp(服务器和客户端),运行效果如下图: click download下载中的UI: 原理:模仿正规ftp方式,分成2个socket连接:文本命令socket.数据信道socket. ...

  3. 分布式系统消息中间件——RabbitMQ的使用进阶篇

    分布式系统消息中间件--RabbitMQ的使用进阶篇 前言     上一篇文章 (https://www.cnblogs.com/hunternet/p/9668851.html) 简单总结了分布式系 ...

  4. Java面试MySQL的一些问题

    MySQL InnoDB存储的文件结构 索引树是如何维护的? 数据库自增主键可能的问题

  5. 如何查看IntelliJ IDEA的版本信息

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. IDEA的版本信息问题 额,说实在的,这篇文章十三一开始也不是很想整 ...

  6. NewZealand。。。

    秀个存在感...

  7. docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)

    下载镜像 docker pull bitnami/php-fpm #下载php-fpm镜像 docker pull nginx #下载nginx镜像docker pull mysql:5.5.59 # ...

  8. Python_生成随机百分比的方法

    可以使用random模块去实现,给定1到100的空间,使用random的choice的方法随机选取一个数字,当这个数字在某个区间时就可以认定为出发了指定的百分比的概率. 这个简单的逻辑也可以在需要时扩 ...

  9. Jmeter操作之跨线程组传递参数

    思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“__P”函数调用即可. 1.添加-后置处理器-BeanShell PostProces ...

  10. Javascript与C#对变量的处理方式

      先来看一下Javascript的情况(下面所说的基本类型和简单类型是一个意思): Javascript中变量会存在两种情况,一种是基本类型的,一共有五种,有null.Bollean.undefin ...