用户、组、权限

2024-06-23 10:18
文章标签 权限 用户

本文主要是介绍用户、组、权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用户、组、权限
一、权限:r, w, x
1.文件权限:
      r:可读,可以使用类似cat等命令查看文件内容;
      w:可写,可以编辑或删除此文件;
      x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;
2.目录权限:
      r: 可以对此目录执行ls以列出内部的所有文件;
      w: 可以在此目录创建文件;
      x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;
3.权限三位一体:
      rwx:可读可学可执行
      r--:只读
      r-x:读和执行
      ---:无权限
4.八进制表示: 
      0 000 ---:无权限
      1 001 --x: 执行
      2 010 -w-: 写
      3 011 -wx: 写和执行
      4 100 r--: 只读
      5 101 r-x: 读和执行
      6 110 rw-: 读写
      7 111 rwx: 读写执行
例如:755:rwxr-xr-x
          rw-r-----: 640
          660:rw-rw----
          rwxrwxr-x:775
二、用户和用户组
1.用户和组的文件路径:
    用户:UID, /etc/passwd
    组:GID, /etc/group
2.影子口令:(真正口令文件路径)
    用户:/etc/shadow
    组:/etc/gshadow
3.用户类别:
    管理员:0
    普通用户:1-65535
    系统用户:1-499
    一般用户:500-60000
4.用户组类别:
    管理员组:0
    普通组:1-65535
    系统组:1-499
    一般组:500-60000
5.用户组类别:
      私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组
      基本组:用户的默认组
      附加组,额外组:默认组以外的其它组
6.解释/etc/passwd中7段意义:(用户名:密码:UID:GID:注释:家目录:默认SHELL)
      1).account: 登录名
      2).password: 密码
      3).UID:
      4).GID:基本组ID
      5).comment: 注释
      6).HOME DIR:家目录
      7).SHELL:用户的默认shell
7.解释/etc/group中4段意义: 组名:密码:GID:以此组为其附加组的用户列表
8.解释/etc/shadow中8段意义:(用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:)
      1).account: 登录名
      2).encrypted password: 加密的密码,$中间的为salt
9.加密方法:
 对称加密:加密和解密使用同一个密码
 公钥加密:每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(public key)
 单向加密,散列加密:提取数据特征码,常用于数据完整性校验
  1、雪崩效应
  2、定长输出
                  MD5:Message Digest, 128位定长输出
                  SHA1:Secure Hash Algorithm, 160位定长输出
三、管理命令
1.用户管理命令:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
  1).useradd  [options]  USERNAME 
      -u UID
      -g GID(基本组)
      -G GID,...  (附加组)
      -c "COMMENT"
      -d /path/to/directory
      -s SHELL
      -m -k
      -M
      -r: 添加系统用户
  2).userdel [option] USERNAME
      -r: 同时删除用户的家目录
  3).id:查看用户的帐号属性信息
      -u
      -g
      -G
      -n
  4).finger: 查看用户帐号信息
      finger USERNAME
  5).usermod:修改用户帐号属性
    -u UID 
    -g GID
    -a -G GID:不使用-a选项,会覆盖此前的附加组;
    -c
    -d -m:
    -s
    -l
    -L:锁定帐号
    -U:解锁帐号
  6).chsh: 修改用户的默认shell
  7).chfn:修改注释信息
  8).passwd:密码管理
    passwd [USERNAME]
      --stdin
      -l
      -u
      -d: 删除用户密码
  9).pwck:检查用户帐号完整性
2.组管理命令:groupadd, groupdel, groupmod, gpasswd
  1).groupadd:创建组 
    -g GID
    -r:添加为系统组
  2).groupmod
    -g GID
    -n GRPNAME
  3).groupdel
  4).gpasswd:为组设定密码
  5).newgrp GRPNAME <--> exit
  6).chage:更改密码使用时间
    -d: 最近一次的修改时间
    -E: 过期时间
    -I:非活动时间
    -m: 最短使用期限
    -M: 最长使用期限
    -W: 警告时间
3.权限管理:chown, chgrp, chmod, umask
  1).chown: 改变文件属主(只有管理员可以使用此命令)
    格式:chown USERNAME file,...
              chown USERNAME:GRPNAME file,...
              chown USERNAME.GRPNAME file,...
    -R: 修改目录及其内部文件的属主
    --reference=/path/to/somefile file,...
  2).chgrp:改变文件属组
    格式:chgrp GRPNAME file,...
    -R:递归
    --reference=/path/to/somefile file,...改正和somefile文件一样的属组
  3).chmod: 修改文件的权限
    格式:chmod MODE file,...
    -R:递归更改
    --reference=/path/to/somefile file,...改正和somefile文件一样的权限
  4).修改某类用户或某些类用户权限:u,g,o,a
    格式:chmod 用户类别=MODE file,...
  5).修改某类用户的某位或某些位权限:u,g,o,a
    格式:chmod 用户类别+|-MODE file,...
 
四、特殊权限
特殊权限也是一个三位的:s,s,t
1.SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者;
 格式:chmod u+s FILE  ,chmod u-s FILE
 注意:如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;
2.SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组;
 格式:chmod g+s FILE  , chmod g-s FILE
 注意:如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S
3.Sticky: 在一个公共目录,每个都可以创建文件,删除自己的文件,但不能删除别人的文件;
 格式:chmod o+t DIR  , chmod o-t DIR
 注意:如果FILE本身原来就有执行权限,则SUID显示为t;否则显示T
五、umask:遮罩码
    文件默认权限:666-umask
    文件夹默认权限:777-umask
    特殊权限默认为0
    默认遮罩码:umask=0022
    更改遮罩码:umask 0023
注意:文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1;

这篇关于用户、组、权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086872

相关文章

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

Win10用户必看:最好用最稳定的版本在此,值得一试!

在Win10电脑操作中,用户可以根据的需要,下载安装不同的系统版本。现在,许多用户好奇Win10哪个版本最好用最稳定?接下来小编给大家推荐最好用最稳定的Win10版本,这些系统版本经过优化升级,相信会给大家带来最棒的操作体验感,且下载安装步骤非常简单。   推荐一:Windows10 22H2 X64 官方正式版   点击下载:https://www.xitongzhijia.net/wi

插入用户APC

每个_Kthread都有一个成员Alerted,默认为0,表示是否可以被APC唤醒。所以下面这段程序,即使插入了APC,但是t线程仍然不会执行。 让t线程执行APC函数的方法是使t线程变成可被唤醒状态,使用函数SleepEx(时间,是否可以唤醒线程),第二个参数为true,Alerted设置为1,即可被唤醒;在插入APC时,APC函数就会执行。 #include "stdafx.h"#inc

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr

java NIO 缓存区之内核空间、用户空间和虚拟地址

IO是基于缓存区来做的,所谓的输入和输出就是从缓存区中移入和移出数据。以IO输入为例,首先是用户空间进程向内核请求某个磁盘空间数据,然后内核将磁盘数据读取到内核空间的buffer中,然后用户空间的进程再将内核空间buffer中的数据读取到自身的buffer中,然后进程就可以访问使用这些数据。     内核空间是指操作系统内核运行的空间,是为了保证操作系统内核的能够安全稳定地运行而为内核专

MySQL中的系统变量权限

MySQL的系统变量用于控制服务器的操作。它们可以是全局的(影响整个MySQL服务器实例),也可以是会话的(仅影响当前客户端会话),或者两者兼有。 你可以使用SET语句来动态地改变这些变量的值。例如: 设置全局系统变量的运行时值: 使用set global语句,该语句需要system_VARIABLES_ADMIN权限(或不推荐使用的SUPER权限)。例如: SET GLOBAL max_

删除第三方AAR所请求的权限

1.问题:引了第三方的AAR库要求一些权限,但我APP不需要,我想删除掉,怎么办 答:很简单,只要在添加:http://schemas.android.com/tools 这个工具在manifest文件中,然后在相应的权限上增加:tools:node="remove"即可。 <manifest xmlns:android="http://schemas.android.com/apk/res/a

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】

SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3.1 加法计算器 需求: 输⼊两个整数, 点击"点

mysql 如何分配root账号创建数据库的权限

1.mysql 如何分配root账号创建数据库的权限 在 MySQL 中,root 用户通常具有所有的权限,包括创建数据库的权限。但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制 root 用户对某个特定数据库或服务器的权限(尽管这在实际操作中并不常见,因为 root 用户通常应该是无限制的),我们需要按照以下步骤进行操作。 这里我将解释如何为一个新的 MySQL 用户分配创建