LINUX权限管理
Posted Roseblacko
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX权限管理相关的知识,希望对你有一定的参考价值。
linux权限管理
linux权限管理,旨意是把一个用户加入一个组,该用户就拥有了该组的权限,当一个用户要操作每个文件时,系统会依次检索该用户是否是该用户的拥有者,其次是组成员,最后是其他人,如果扫描到是拥有者,则具备拥有者的权限,不必往后扫描,以此类推
· 权限类型
· 文件时间信息
一、权限类型
1>权限分为3个部分
1、读取权限(4):read(r)
2、写入权限(2):write(w)
3、执行权限(1):execute(x)
4、没有权限(0):N/A(-)
2>权限位
权限位主要分为三个部分,分布是属主、属组以及其他人
rwx :属主
r - x :属组
r - x :其他人
例如:文件类型:-rw-r--r-- 1 root root 1146 Jul 16 18:42 a.txt
3>数字编号
每一个权限拥有一个数字编号
可读(r) :4
可写(w) :2
可执行(x):1
没有对应权限 :0
4>权限组合
在添加权限的时候,可以将权限加起来
属主:可读可写可执行
属组:可读可写
其他人:没有任何权限
rwxrw---- 等价于 760 (三位隔开单独计算)
5>添加权限
chmod:更改文件权限的命令
格式 chmod 【参数】【权限表达式】【操作对象】
参数:-R 递归增加权限
6>权限的归属
属主:u
属组:g
其他人:o
7>测试权限对于用户的意义
1、普通用户是严格遵守权限的
2、root用户是高于权限
3、权限需要重新登才生效(su和su - 都可以)
8>测试权限对于目录的意义
1、文件可读,路径的最小权限是必须拥有可执行权限
2、文件可写,路径的最小权限是必须拥有可执行权限
3、文件可执行,路径的最小权限是必须拥有可读可执行权限
9>创建文件的默认权限,创建文件夹的默认权限是从哪里来的
在linux中,常用的文件的权限是666,目录的权限是777
umask:当创建一个文件或者目录的时候,系统会自动为文件或者目录赋予默认的权限,而umask命令就是用来控制这个默认权限的。
查看umask有两种方式:一种加-s,一种不加-s
以四组数字进行显示,其中后三组规定了User,Group,Other的默认权限
默认权限计算方式:在linux中,文件和目录的默认权限计算方式为最大默认权限去掉umask指定的相应权限。对于文件来说,最大默认权限为666(-rw-rw-rw),也就是说User,Group,Other都没有X权限;对于目录来说,最大默认权限为777(drwxrwxrwx)。那么,假设umack输出的值为022,由于r = 4, w = 2,x=1,也就是对于文件来说需要在最大默认权限的基础上去掉w权限(因为022在代表User的位为0,表示不用拿掉权限),也就是文件默认权限会是644(-rw-r--r--),同理,创建的目录默认权限为755(drwxr-xr-x)
umask的配置:umask的配置文件是/etc/bashrc,推荐不要动他
1、文件的权限是跟umask值相减,遇到奇数加一;遇到偶数则不变。
2、文件夹的权限只要跟umask值相减即可。
&&(and) ||(or)
# 需求要把一个月之前修改过的日志文件删除 案列:1.将index文件添加属主:可读可写可执行、属组:可读可写、其他人:没有任何权限 chmod 760 index 2.将baidu下的所有文件设置rwxr--r-- chmod -R 744 baidu/ 3.将index这个文件的属组增加一个可执行权限 chmod g+x index chmod g+x,o-r index
10>系统用户信息
whoami:打印与当前有效用户id关联的用户名;这个工具可以用来获取本地系统上当前用户(访问令牌)的用户名和组信息,以及相应的安全标识符(SID)/声明、本地系统上当前用户的权限、登录标识符(登录ID)
whoami命令显示自身的用户名称,本指令相当于执行“id-un”指令
语法格式whoami【参数】
常用参数:--help 在线帮助
--version 显示版本信息
who:who命令用来打印当前登录用户信息,包含了系统的启动时间、活动进程、使用者ID、使用终端等信息,是系统管理员了解系统运行状态的常用命令。
who命令的输出信息默认来自文件“/var/log/utmp”和“/var/log/wtmp”
语法格式:who【参数】【选项】
常用参数:-a 打印全面信息
-b 打印系统最近启动时间
-d 打印死掉的进程
-l 打印系统登录进程
-h 带有列标题打印用户名,登录终端和登录时间
-t 打印系统上次锁定时间
-u 打印已登录用户列表
二、文件时间信息
1、文件时间信息分类
三种时间信息:文件修改时间:mtine
显示的是文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)
属性修改时间:ctime
显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间。当然当内容改变是也会随之改变(即inode内容发生变化和Black内容发生改变时)
文件访问时间:atime
显示的是文件中数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)
ps:另外,从kernel2.6.29开,还默认集成了一个relatime的属性。可能是因为在文件读操作很频繁的系统中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录.
2、文件时间详细说明
查看时间命令:stat filename
1.编辑文件内容
1>文件修改时间变化
2>文件属性时间变化
3>文件访问时间不变
2. 修改文件属性
1>文件修改时间不变
2>文件属性时间变化
3>文件访问时间不变
3.访问文件信息
1>文件修改时间不多
2>文件属性不变
3>文件访问时间变化
3、文件类型查看方法
1、file文件信息
1>配置文件--conf
2>脚本文件--.sh
创建用户:1.添加用户
vim /etc/passwd
test08(用户名自定义):x(密码占位符):2001(UID:范围0-65535):2001(GID:0-65535):自建用户:/home/test08:(宿主目录;用户登录后首先进入的目录,一般与“/home/用户名”这样的目录)/bin/bash
2.添加组
vim /etc/group
test08:x:2001:
3.添加用户密码
vim /etc/shadow
4.添加用户组密码
vim /etc/gshadow
test08:!::
5.家目录
mkdir test08
cp /etc/skel/.bash* /home/test08/
chown -R test08.test08 test08
chmod 700 test08/
以上是关于LINUX权限管理的主要内容,如果未能解决你的问题,请参考以下文章