玩转Linux必备知识(一)
玩转Linux必备知识(二)

用户管理系统

用户管理基础

  • who 查看系统中当前登录的所有用户

  • who am i 查看当前登录用户

  • 终端:

    :0 代表后台终端,与人没有交互的

    pts/n n为任意正整数,虚拟终端(图形化界面中的命令行,远程登录使用的命令行均为虚拟终端),哪怕是编号相同的两个终端,只要不是连续使用的,中间曾经关闭过,就不是同一个终端了

    tty1-63 物理终端,本地服务器操作使用物理终端
    ttys0-3 物理终端,使用串行通信进行操作的终端

  • 用户信息的存放文件

    /etc/passwd
    /etc/shadow

    /etc/passwd 存放系统中所有的用户的信息,在该文件中,每一行代表一个用户,包含用户的一下信息

    username:password-reserved:uid:gid:remarks:home-dir:shell

    ​ 密码:这里是密码保留位,不保存密码,没有意义
    uid:用户编号,系统识别用户的唯一根据。uid=0 则为超级管理员用户。uid小于1000的是系统用户,用来承担系统中的运行工作。uid>=1000的为普通用户
    gid:用户组编号,系统唯一识别用户组的根据。

    ​ 注释:系统管理员给用户留下的注释信息,方便后来的管理员理解用户的作用
    用户家目录:用户的个人目录,保存用户的个人文件以及配置信息
    shell:一种负责人机交互的软件。可以在系统中/etc/shells文件中查看当前系统所支持的shell种类。RHEL7支持的shell:
    /bin/sh 最古老的shell
    /bin/bash 目前应用最多的shell
    /sbin/nologin 使用户无法登陆的shell

用户管理命令

  • useradd 选项 参数 用户名 创建对应的用户

    选项:
    -u 创建用户时指定用户的uid,如果不指定,则默认为上一个用户的uid+1
    -g 创建用户时将用户加入gid所指定的用户组(该用户组必须已经存在),如果不指定,则默认uid=gid,在创建用户时,会创建与用户同名的用户组。
    -s 创建用户时指定用户使用的shell,若不指定,默认为/bin/bash
    -d 创建用户时指定用户的家目录位置,若不指定,则自动在/home目录下创建于用户名相同目录名的目录作为家目录

  • passwd 修改密码的命令

    root用户使用时:passwd 用户名 修改指定用户的密码(root用户可以修改系统中任意一个用户的密码);普通用户使用时:passwd 修改自己的密码(普通用户只能修改自己的密码);对于可登录的用户来说,密码是必备的

  • id 用户名 查看用户的信息

  • usermod 选项 参数 用户名

    -u 修改用户的uid(一般不使用)
    -g 修改用户的gid
    -s 修改用户使用的shell
    -d 修改用户的家目录

    例子:
    usermod -g 0 student 将student用户的用户组更改为root用户组(root用户组gid=0)

  • userdel -r 用户名 删除用户的同时删除家目录

    ​ 或者:find / -user 用户名 -exec rm -rf {} \;

用户切换命令

su    临时切换用户的命令
su   用户名        临时切换用户
su  -   用户名     临时切换用户,同时切换家目录

注意:
1、root用户使用su命令时,无需提供密码,其他用户均需提供要切换的用户的密码才能切换
2、切换用户时,如果没有输入密码的步骤,则用户的远程权限(远程文件共享等)不发生切换
3、临时切换使用完后,可以使用exit命令退出切换。如果不是需要,不要在su命令切换的用户内再次使用su命令

sudo 临时获取root用户身份执行命令
sudo 要执行的命令
例子:普通用户下
sudo passwd root

系统中哪些用户能够使用sudo命令,在/etc/sudoers文件中进行配置,正常情况下,系统默认设置wheel用户组的成员全部可以使用sudo命令

用户组管理命令

​ 主组:用户拥有主组的权限,用户一般使用主组的身份进行操作,一个用户只能拥有一个主组
从属组(附属组,副组):也同时拥有从属组的所有权限,用户拥有的从属组没有上限

​ 用户组的信息的存放位置: /etc/group 保存用户组信息;/etc/gshadow 保存用户组密码(从不使用)

/etc/group 文件内容:文件中每一行代表一个用户组的信息,格式为:用户组名:密码:gid:所属用户。注意:所属用户位置保存的是将该用户组设置为附属组的所有用户的名字

  • groupadd group-name 创建用户组

    groupadd -g gid group-name 创建用户组时指定gid

  • groupmod -g gid group-name 修改用户组的gid

  • groupdel group-name 删除用户组

    与从属组相关的命令:
    useradd   -G   用户组名或gid    用户名       创建用户时指定从属组usermod   -G   用户组名或gid    用户名       重新设置从属组
    usermod   -aG   用户组名或gid    用户名      添加一个从属组

权限管理基础

  • ls -l path 查看文件详细信息(包含权限信息)

    dr-xr-xr-x.即使用十一位二进制数字表示权限

    第一位:表示文件类型

    • 普通文件
      d 目录
      l 链接文件
      b 块设备文件
      s 套接字文件
      第二位到第四位:表示文件所属人对于文件的权限
      依次为读(r)写(w)执行(x)
      第五位到第七位:表示文件所属组对于文件的权限
      第八位到第十位:表示系统中除文件所属人所属组之外的其他用户对于文件的权限
      第十一位:代表是否具有访问控制列表(acl)如果没有,则为‘.’ 如果有,则为‘+’

对于文件:
读(r)权限:代表是否能够查看文件内容
写(w)权限:代表是否能够对文件内容进行修改
执行(x)权限:代表是否为一个可执行文件(应用程序)

对于目录:
读(r)权限:代表是否能够查看到目录中有哪些内容
写(w)权限:代表是否能够对目录中内容进行修改(在目录中新建文件、修改目录中内容的信息、对目录中的文件或目录进行编辑)
执行(x)权限:代表是否能够进入目录

注意:对于目录来说,读权限和执行权限是缺一不可的,两者少一个,则没有任何意义;写权限也与执行权限相关。对于目录来说,执行权限是最基本权限,如果没有执行权限,其他权限没有意义


权限管理命令

  • chown

    chown 用户名:用户组名 路径 同时修改所属人所属组
    chown 用户名 路径 仅修改所属人
    chown :用户组名 路径 仅修改所属组

  • chgrp 用户组名 路径 修改所属组

  • chmod 权限表达式 路径 修改权限


字母法:
u:代表所属人
g:代表所属组
o:代表其他人
a:代表所有人

+:代表添加权限
-:代表移除权限

r:代表读权限
w:代表写权限
x:代表执行权限
例子:
u+r 所属人具有读权限
o-x 其他人不具备执行权限
a-r 所有人均不具备读权限


数字法:
r=4
w=2
x=1
每三位用一个数字表示,该数字大小为三位权限的代数和
例子:
rw-r–r– >> 644
354 >> -wxr-xr–

文件的最大权限为:666
目录的最大权限为:777


文件访问控制列表(facl)

作用:针对单个用户的权限进行限制

  • getfacl path 查看文件的访问控制列表

  • setfacl -m user:username:permission-expr path 设置访问控制列表

    例子:
    setfacl -m user:student:r– /bin/passwd

    注意:
    1、facl对root用户及文件所属人无效
    2、facl设置后,会对ls -l 命令查看到的内容产生影响,使显示不准确,所以说设置facl以后,详细的权限内容,以facl中显示的为准;隐藏权限attr 是唯一可以限制root用户的权限,不推荐使用。

特殊权限

  suid :仅对应用程序设置有效,设置后,无论系统中哪个用户执行该程序,都会以程序所属人的身份执行。该权限设置后,会占用所属人权限的执行权位,并显示为‘s’。如果所属人本身没有执行权,则显示为‘S’。注意:普通用户想要执行具有suid设置的程序,必须本身对该程序具有执行权,且程序所有人也对该程序具有执行权

  sgid : 仅对目录设置有效,对目录设置后,该目录中新建的所有内容所属组及组权限均与该目录相同

  sbit : 粘滞键,仅对目录设置有效,对目录设置后,目录中的子目录的内容,只有目录的所属人以及子目录的所属人有权限修改

​ 设置特殊权限:
suid=4
sgid=2
sbit=1

​ 三种特殊权限占用一位数字,写在普通权限的前面
例子:chmod 2770 path 对对应的目录设置sgid

玩转Linux必备知识(三)相关推荐

  1. 玩转Linux必备知识(四)

    硬盘管理系统 玩转Linux必备知识(三) 玩转Linux必备知识(二) 玩转Linux必备知识(一) 硬盘管理背景知识 硬盘常见接口: IDE 最古老的硬盘接口,淘汰品 SATA 串行接口,个人电脑 ...

  2. 玩转Linux必备知识(二)

    常用命令清单2 玩转Linux必备知识(一)–常用命令清单1 echo命令 将命令后跟随的内容在屏幕上输出一次 $ 表示取值 echo $PATH 将变量PATH中的值在屏幕上显示一次 系统变量存放在 ...

  3. 玩转Linux必备知识(一)

    linux介绍   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网 ...

  4. 学好Linux必备知识

    鸟哥的私房菜中提到学好Linux必备的几种技能: 1.  计算器概论不硬件相关知识: 因为既然想要走Linux这门路,信息相关癿基础技能也丌能没有啊! 所以先理觋一下基础癿硬件知识,丌用 一定要全懂啦 ...

  5. 超强总结,用心分享丨大数据超神之路(三):Linux必备知识

    文章目录 前言 第1章 系统基础 1.1 网络 1.1.1 网卡篇 1.1.1.1 VMnet0 网卡 1.1.1.2 VMnet1 网卡 1.1.1.3 VMnet8 网卡 1.1.14 三种连接方 ...

  6. linux源码安装必备条件,玩转Linux必备的金钥匙之源码安装mysql

    安装mysql前提 提示:上个教程讲的三大依赖包必须先安装完,才可执行. 安装 提示:难点是配置,但这个安装是基础很关键哦 例如: 1. 挂载镜像-解压安装 2.创建虚拟用户 进入命令终端输入: /u ...

  7. 仿站高手是怎么练成的 分析仿站必备知识总结

    仿站高手是怎么练成的 分析仿站必备知识总结 来源:http://hep6.com 作者:和平 现在的网站,真正原创设计的没有几个,都是我抄袭你,你抄袭我,再自己修改下,这可能跟中国的国情有关吧!抄袭网 ...

  8. 如何做网站仿站的原理与步骤图文教程 分析仿站必备知识总结

    现在的网站,真正原创设计的没有几个,都是我抄袭你,你抄袭我,再自己修改下,这可能跟中国的国情有关吧!抄袭网站也就是我们所知道的仿站,现在网络上有很多仿站的站长,很多人只会一星半点,就开始接定单做网站了 ...

  9. 后端程序员必备的 Linux 基础知识

    后端程序员必备的 Linux 基础知识 原文来自github stars>63k的项目JavaGuide,欢迎小伙伴去支持原作者 一 从认识操作系统开始 1.1 操作系统简介 1.2 操作系统简 ...

最新文章

  1. 解锁新姿势:探讨复杂的 if-else 语句“优雅处理”的思路
  2. [librosa]0.8版本后不再支持write_wav
  3. 【转】深入了解CPU两大架构ARM与X86
  4. STM32开发 -- UCOSII移植
  5. matlab插值与拟合例题_菜鸟进阶系列:MATLAB数学建模·数据插值与拟合
  6. 第二次作业python
  7. 190521每日一句
  8. 解决:地址 localhost:8080 已在使用中
  9. 实对称矩阵一定可以相似对角化
  10. 抽样与抽样分布——中心极限定理、点估计
  11. 一个简单的出货补货网页php
  12. 1月16日云栖精选夜读 | 阿里P8架构师谈:Zookeeper的原理和架构设计,以及应用场景...
  13. 找不到战网服务器ip地址,wow服务器ip地址-我怎么知道战网服务器的IP地址去PING, – 手机爱问...
  14. python爬虫:scrapy-redis分布式爬虫(详细版)
  15. (iOS开发) 录屏功能的实现~包括暂停和继续功能
  16. KeyShot 11.1 现已推出
  17. 《创新创业实训》网课答案解析
  18. EasyExcel解析动态表头及导出
  19. 使用oa系统租用移动服务器,oa系统云服务器租赁
  20. 线上教学,师生“网上见”

热门文章

  1. 满分简便代码:1009 说反话 (20分)
  2. 14行代码AC_Zero Array(思维)
  3. Linux-网络配置
  4. Online DDL
  5. 一条SQL更新语句是如何执行的?
  6. php注解rbac,PHP的RBAC权限详解
  7. 批量ping脚本shell_30个Linux Shell脚本经典案例(上)
  8. Servlet之间的跳转
  9. all any 或 此运算符后面必须跟_用 ANY、SOME 或 ALL 修改的比较运算符
  10. linux共享文件权限设置,linux – Windows更改Samba文件共享中的文件权限