权限管理:

常识:

chmod  U-所有者  g-所属组  O-其他人
r-4-可读  w-2-可写  x-1-可执行  s-4-SetUID    s-2-SetGID    t-1-粘着位

注:目录的写权限-可对文件增删

文件的写权限-可对文件编辑

默认权限:755

查看:nmask     显 示为0022    //实际权限(取补): 777-022 = 755

设置:umask -S  0022 
修改:umask 027     // 777-027 = 750 修改为750的权限   
注:linux权限规则:缺省创建的文件不能授予可执行x权限,所以实际是644

如0022权限编号的第一位是用来指定特殊权限的,后面位数分别对应r、w、e权限;

授予权限:

chmod u+wx  文件名    或     chmod 641 文件名

疑问:既然/passwd对于普通用户是只读的,那普通用户又是如何用passwd修改密码的呢??

因为passwd命令,所对应etc/passwd文件的所有者是root, 而普通用户是具有s 【SetUID】权限;

【针对所有者】SetUID权限: 当一个可执行程序具有SetUID权限,用户将自动以这个程序所有者的身份运行;

授予SetUID权限的方式: chmod u+s   或  chmod 4755 (SetUID - 4)

授予SetUID权限的方式: chmod u-s   或  chmod 0755 (SetUID - 4)

注:必须时可执行程序,不是可执行的会是大写的S,并不起作用;

扩展:【针对所属组】s-SetGID - 2  功能与SetUID相似  ;设置 chmod g+s   或  chmod 2755

【针对其他人】t-粘着位 - 1  如果一个权限为777目录具有粘着位,所有人都可以在该目录下创建,但只能删除自己所创建的文件;设置 chmod g+t  或  chmod 1755

用户管理:

用户分类:

Linux用户分为3种: 通过 /etc/passwd 文件中的UID

超级用户 (UID=0,如: root) -- 它不收系统设置的限制

普通用户(UID 500-60000)

伪用户(UID 1-499)【与系统和程序服务相关,无宿主目录,不能登录系统】

命令:

添加:

添加用户组:groupadd 组名

添加用户:useradd 用户名   -g 【缺省组】   -G【附加的多个组】 -c【描述】 -e【失效时间】   
设置密码:passwd                         密码

设置组密码:gpasswd   组名            密码

修改

修改用户信息:usermod

修改用户名  usermod -l  新用户名  旧用户名

  修改所属组  usermod -G  组名  用户名

设置组密码及管理组内成员:gpasswd

  修改组中用户        gpasswd -a 用户名 组名

  删除从组中用户        gpasswd -d 用户名 组名

设置组的管理员  gpasswd -A 用户名 组名

修改文件的所有者,所属组:chown   chgrp
  chown 用户名 文件名
  chgrp 组名  文件名

切换:

切换用户:su -  用户名

通过组密码,切换用户组(将不是该组的用户加入该组) :    newgrp  组名

查看:

查看所属组:   groups   用户名

查看用户id和组的信息: id

用户沟通:

用户间实时交流:不在线的用户永远收不到
write 用户名   内容   Ctrl+d退出   
Wall 内容 Ctrl+d退出  发送给所有人

配置文件:

登录配置:

登录设置:定义了添加用户时缺省的设置信息

/etc/login.defs

/etc/default/useradd

登录中:

用户信息文件  /etc/passwd   格式:【 用户名:密码位:UID:GID:注释:宿主目录:Shell类型】 每一行对应一个用户,对于普通用户时只读文件

用户密码文件  /etc/shadow   格式:【用户名:加密密码:最后修改时间:修改最小间隔:修改最大间隔:警告时间:闲置时间:失效时间:标志】

注:手动将用户密码置空,该用户可以不需要密码登录系统(忘记密码时可以采用哦)

备注:系统是先将密码存到/passwd,然后转换到/shadow中;只是系统自动转换;

新用户信息文件  /etc/skel

注:每天添加一个用户,系统会自动将/skel文件夹中文件拷贝一份到该用户的宿主目录中;

因此,手动添加用户步骤:

1.文本编辑修改/passwd文件

2.建立宿主目录,别忘了目录权限的修改

3.手动将/skel下的文件copy一份到该用户的宿主目录中;

登录提示信息:

用户登录前信息文件 /etc/issue

用户登录后信息文件 /etc/motd

用户组信息:

用户组文件  /etc/group   格式:【 组名:组密码位:GID:组内用户】

用户组密码文件 /etc/gshadow

注:组密码位,不是组的用户享受该组的服务;但是有些Liunx并不支持;

通过组密码,切换用户组(将不是该组的用户加入该组) :    newgrp  组名

从零开始学Linux系统(五)用户管理和权限管理的更多相关文章

  1. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  2. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  3. 从零开始学Linux系统(一)之引导流程解析

    Linux系统:分时多用户多任务的操作系统: Linux系统引导流程: inittab配置文件中: 定义了linux系统的运行的7个级别:从0~6 0.6:分别代表关机和重启,不建议设置为默认的运行级 ...

  4. 从零开始学Linux系统(二)之基本操作指令

    ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear  == C ...

  5. Linux基础入门-用户及文件权限管理

    一.Linux用户管理: 不同的用户的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于Linux的用户管理和权限机制,不同用户不能轻易查看.修改彼此的文件. 1. 查看用户: wh ...

  6. 从零开始学Linux系统(三)安装CentOS-7及软件包管理操作

    推荐博文: VirtualBox安装CentOS7步骤详解: https://my.oschina.net/AaronDMC/blog/840753 如何安装CentOS7字符界面 :http://b ...

  7. 从零开始学Linux系统(四)之Vi/Vim操作指令

    模式切换: 编辑模式 <-- [:]<--命令模式 -->[a.i.o A.I.O]-->  插入模式 编辑模式操作: 设置行号  :set nu   :set nonu 复制 ...

  8. 十天学Linux内核之第三天---内存管理方式

    原文:十天学Linux内核之第三天---内存管理方式 昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步.今 ...

  9. Linux学习--4.用户和组的管理

    用户和组的管理 前言 本篇文章主要讲Linux系统下用户和组的概念,还有添加用户和组,修改用户和组的基本操作,会涉及不少与之相关的配置文件与命令的介绍,几乎所有 正文 首先,简单提下概念,用户是操作系 ...

随机推荐

  1. 使用maven构建web项目(简易版)

    在eclipse中使用maven开发一个web项目 第一步:安装maven:在Windows上安装Maven 中间省略很多步骤....(包括关于eclipse中配置maven) 第二步:不用懂任何ma ...

  2. 搜索二维矩阵 II

    描述 写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数. 这个矩阵具有以下特性: 每行中的整数从左到右是排序的. 每一列的整数从上到下是排序的. 在每一行或每一列中没有重复的整数. 样例 ...

  3. FPGA学习-VGA接口

    一般FPGA开发板的VGA会向用户暴露两共五个种接口,第一种是时序信号,用于同步传输和显示:第二种是色彩信号,用于随着时序把色彩显示到显示器上 时序接口 行同步信号-用于指示一行内像素的显示 场同步信 ...

  4. 人脸识别 ArcFace Demo [Windows]

    Arcsoft ArcfaceDemo for Windows, VS2013 C++   使用虹软技术开发完成 使用步骤: 1.下载SDK包,32位Windows平台将五个SDK包里lib中的文件到 ...

  5. [问题] docker: Failed to start Docker Application Container Engine.

    docker无法启动: # systemctl restart docker Job for docker.service failed because the control process exi ...

  6. 提升方法-AdaBoost

    提升方法通过改变训练样本的权重,学习多个分类器(弱分类器/基分类器)并将这些分类器进行线性组合,提高分类的性能. AdaBoost算法的特点是不改变所给的训练数据,而不断改变训练数据权值的分布,使得训 ...

  7. mysql下分组取关联表指定提示方法,类似于mssql中的cross apply

    转至:https://stackoverflow.com/questions/12113699/get-top-n-records-for-each-group-of-grouped-results ...

  8. 十四:Using CGroups with YARN

        Cgroups可以控制linux 上应用程序的资源(内存.CPU)使用,yarn可以使用Cgroups来CPU使用.Cgroups的配置,在yarn-site.xml中设置: 1)启用Cgro ...

  9. HADOOP docker(六):hive简易使用指南

    前言1.hive简介1.1 hive组件与相应功能:1.2 hive的表类型1.3 分区表1.3 分隔符1.4 hive的数据存储2.数据类型2.1 基本数据类型2.1 复杂数据类型2.3 NULL3 ...

  10. 关于localStorage的实际应用

    在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前, ...