一、用户和组

1.用户

系统用来认证(Authentication),授权(Authorization),审计(Autition)的帐号。通过登录用户来登录系统。操作系统通过登录不同的用户来调用相对应权限的进程或程序,也可以说,用户是能获取系统资源的权限集合。

2.用户的分类

Linux用户分为2类,即管理员用户和普通用户。

管理员用户:即root,拥有最大的权限的用户,可以调用系统任意的资源。其uid为0

普通用户:普通用户也分2类,分别为系统用户和登录用户。

系统用户:保障系统启动时的基本服务正常运行的用户,一般不能登录。注意,也有可以登录的系统用户,来保障重要程序运行。其uid为1-499(CentOS6)或1-999(CentOS7+)

登录用户:一般用户,用来登录并使用系统。其uid为500-60000(CentOS6)或1000-60000(CentOS7+)

3.组

组是用户的集合或容器,用户可以继承组的使用系统资源的权限。

4.组的分类

组有3种分类方式。

组类别1:

管理员组:root的组,权限最大的组,其gid为0

普通用户组:

系统组:系统用户的组,其gid为为1-499(CentOS6)或1-999(CentOS7+

登录组:登录用户的组,其gid为500-60000(CentOS6)或1000-60000(CentOS7+)

组类别2:

基本组:创建用户时生成的同用户名一样的组,有且只有一个

附加组:除了基本组外的组,可以同时有很多个

组类别3:(感觉是基本组和附加组的另一种说法)

私有组。

公共组。

5.密码

密码是用户用来登录系统或切换组时需要的凭证,其存放在/etc/shadow和/etc/gshadow文件内。

密码建议使用随机密码,最短长度不要低于8位,同时使用大写字母、小写字母、数字、标点符号四类字符中至少3类,并定期更换。

linux使用单向加密,有md5,sha1,sha224,sha256,sha384,sha512共6种加密算法。

6./etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、文件

uid(UID),gid(GID):因为计算机硬件能识别的只有二进制代码,内存中用来存储用户和组的信息的大小分别都为16bits,所以总的数值为0-65536。uid,gid就是存储在计算机内存中的用户名和组名,它们通过配置文件/etc/passwd和/etc/group来互相解析。

(1)/etc/passwd:用户的信息库

格式为:

name:passwd:uid:gid:gecos:directory:shell

name:用户名

passwd:密码,可以是加密的密码,也可以是占位符x

uid:用户id号

gid:用户所属的主组的id号

gecos:注释信息

directory:用户的家目录

shell:用户的默认SHELL,登录时默认shell程序

(2)/etc/shadow:用户的密码库

格式为

用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期限:密码禁用期:过期期限:保留字段

(3)/etc/group:组的信息库

格式为:

group_name:password:GID:user_list

group_name:组名

password:组密码(不同组的用户切换组时用到,chgrp命令)

GID:组id号

user_list:该组的用户成员,以此组为辅加组的用户的用户列表

(4)/etc/gshadow:组的密码库

7.相关命令

(1)useradd:添加用户

格式:useradd [选项] 登录

-u,--uid UID:指定UID

-g,--gid GROUP:指定基本组ID,此组得事先存在

-c,,--comment COMMENT:指明注释信息

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号隔开

-d,--home HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,如果指定的家目录路径事先存在,则不会为用户复制环境配置文件

-s,--shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells中

-r,--system:创建系统用户

-M:不创建用户主目录

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D:显示创建用户的默认配置

useradd -D 选项:修改默认选项的值

修改的结果保存于/etc/default/useradd文件中

(2)usermod:修改用户相关属性

格式:usermod [选项] 登录名

-u,--uid UID:修改UID号

-g,--gid GROUP:修改用户所属的基本组,必须存在

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组:原来的附加组会被覆盖

-a,--append:与-G一同使用,用于为用户追加新的附加组

-c,--comment COMMENT:修改注释信息

-d,--home HOME_DIR:修改用户的家目录

-m,--move-home:只能与-d选型一同使用,用于将原来的家目录移动为新的家目录

-s,--shell SHELL:修改用户的默认shell

-l,--login NEW_LOGIN:修改用户名

-L,--lock:锁定用户密码:即在原来的密码字符串之前添加一个‘!’

-U,--unlock:解锁用户的密码

(3)userdel:删除用户

格式:userdel [选项] 登录

-r:删除用户时一并删除其家目录

(4)groupadd:添加组

格式:groupadd [选项] group_name

-g GID:指定GID,默认是上一个组的GID+1

-r:创建系统组

(5)groupmod:修改组的相关属性

格式:groupmod [选项] GROUP

-g GID:修改GID

-n new_name:修改组名

(6)groupdel:删除组

格式:groupdel GROUP

(7)passwd:修改用户密码

格式:passwd  [-k]  [-l]  [-u  [-f]]  [-d]  [-e]  [-n  mindays]  [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

1、passwd 修改用户自己的密码

2、passwd USERNAME:修改指定用户的密码,但仅root有此权限

-l,-u:锁定、解锁用户密码

-d:清除用户密码

-e DATE:过期期限,日期

-i DAYS:非活动期限

-n DAYS:最短使用期限

-x DAYS:最常使用期限

-w DAYS:警告期限

--stdin:echo "PASSWORD" | passwd --stdin USERNAME

(8)gpasswd:给组添加密码

格式:gpasswd [选项] group

-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户

(9)newgrp:临时切换指定的组为基本组

格式:newgrp [-] [group]

-:会模拟用户重新登录以实现初始化其工作环境

(10)id:显示用户真实和有效的ID

格式:id [OPTION]... [USER]

-u:仅显示有效的UID

-g:仅显示用户的基本组ID

-G:仅显示用户所属的所有组的ID

-n:显示名字而非ID

(11)su:switch user

登录式切换:会通过读取用户的配置文件来重新初始化

su - USERNAME

su -l USERNAME

非登录式切换:不会读取目标用户的配置文件进行初始化

su USERNAME

常用方法:-c 'COMMAND' :仅以指定用户的身份运行此处指定的命令

二、权限管理

1.权限

前面讲过,用户登录系统调用进程来实现系统的运行,基于安全的考虑,不是每个用户都能调用同一个进程或重要的系统后台进程,这就需要权限来管理。同时,liunx的原则之一,一切都是文件,所以实质上是对文件的权限管理。

而进程对文件的访问权限应用模型

进程的属主与文件的属主是否相同,如果想同,则应用属主权限

否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组权限

否则,就只能应用other权限

2.权限的组合

权限的显示模式:rwxrwxrwx

前三位:表示属主用户的权限

中三位:表示属组用户的权限

后三位:表示其他用户的权限

组合和8进制的换算为

---  0

--x  1

-w-  2

-wx  3

r--  4

r-x  5

rw-  6

rwx  7

3.文件的权限

以/etc/passwd为例,执行ll /etc/passwd    -rw-r--r--. 1 root root 1801 12月 11 10:36 /etc/passwd

r:readable,表示可获取文件的数据

w:writable,表示可修改文件的数据

x:excutable,表示可将此文件运行为进程

4.目录的权限

以/etc/rc.d为例,执行ll -d /etc/rc.d

drwxr-xr-x. 10 root root 4096 3月   6 2015 /etc/rc.d/

r:readable,表示可使用ls命令获取其下的所有文件列表

w:writable,表示可修改此目录下的文件列表,即创建或删除文件

x:excutable,表示可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息

5.相关命令

(1)chmod:修改文件权限

格式:chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

3类用户简写:u:属主、g:属组、o:其他、a:所有

1、chmod [OPTION]... MODE[,MODE]... FILE...

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位

u=

g=

o=

a=

授权表示法:

u+,u-

g+,g-

o+,o-

a+,a-

2、chmod [OPTION]... OCTAL-MODE FILE...

(八进制即0-7)

3、chmod [OPTION]... --reference=RFILE FILE...

(引用性修改)

选项:

-R, --recursive:递归修改(授权表示法使用多)

(2)chown:改属主和属组

格式:chown [OPTION]... [OWNER][:[GROUP]] FILE...(或者是.)

chown [OPTION]... --reference=RFILE FILE...

选项:

-R:递归修改

(3)chgrp:改属组

格式:chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

(4)umask:文件的权限反向掩码,遮罩码

文件:

666-umask

目录:

777-umask

注意:文件用666去减,是因为文件默认不能有执行权限:如果减的数有执行权限,则加1

格式:umask:查看当前umask

umask MASK:设置umask

注意:此类设定只对当前shell进程有效

参考:http://linuxme.blog.51cto.com/1850814/347086/

linux修改组的选项名字为,Linux用户、组及权限管理浅析相关推荐

  1. 《Linux基础三》用户和文件权限管理

    用户和文件权限管理 1,用户 管理员用户: Root用户,也称根用户.超级用户.超级管理员 可对根目录执行读写和执行操作 具有系统中的最高.所有权限 普通用户: 权限有限的用户 Root用户拥有系统的 ...

  2. Linux学习之用户、组和权限管理

    1.概述: 1).用户:是每个使用者用用户来标识密码是认证手段2).认证:--Authentication-->将使用某种识别技术将用户标识关联起来3).授权:Authorization4).权 ...

  3. linux基础:用户与组,权限管理

    linux中用户与权限管理 与Window的单用户系统不同,Linux操作系统在设计之初就遵循着多用户.多任务的理念.而在这种情况下,安全问题非常重要,不同用户,不同的用户组之间的隐私保护,安全管理就 ...

  4. Linux CentOS 8(用户与组相关权限管理实验)

    Linux CentOS 8(用户与组相关权限管理实验) 目录 一.项目介绍 二.相关概念 2.1 用户管理简介 2.2 在 Linux 中每个文件的所有者.所在组.其它组的概念 三.任务操作 任务1 ...

  5. linux系统用户,组和权限的管理

    PS: {最近一直在做毕业设计,前面博客也记录过我的一些过程.其中需要在Ubuntu上搭建一个FTP服务器,此处我选择Vsftpd,但是在我对vsftpd的配置文件vsftpd.conf设置正确后(对 ...

  6. linux修改组命令groupmod,添加用户useradd,修改用户usermod,添加组groupadd

    在/etc/group文件中可以看到,需要修改的组信息并不多.修改组的GID(加-g选项) 或组名(加-n参数) 添加一个组,为了节省博客篇幅,删除了部分组信息 [root@localhost hom ...

  7. linux系统用户属组,关于 Linux系统用户、组和权限管理

    一.用户与组 1.用户与组的概念 在Linux系统中,根据系统管理需要将用户分为三种类型: 1.超级用户:root是linux系统的超级用户,对系统拥有绝对权限.由于root用户权限太大,只有在进行系 ...

  8. Linux(9)用户、组和权限管理

    用户 背景 用户是计算机中识别一个个体的标示,可以是用户名和对应的密码,也有可能是某种识别技术当中能够唯一标识识别的一种机制,对于计算机而言,这为计算机提供了一个唯一使用标示,我们可以称之为用户ID ...

  9. Linux用户、组和权限管理

    Linux用户和权限管理 基础知识 Linux用户 管理员:root 0 普通用户:1-65535 系统用户:Centos6:1-499,Centos7:1-999 登录用户:Centos6:500+ ...

最新文章

  1. idea 快速导入实现父类方法_教你快速吸引精准粉丝实现流量变现的方法
  2. java 8代码 改 java7_Window安装JDK7和JDK8,并一键切换
  3. WPF INotifyPropertyChanged 通过特性减少代码量
  4. 【软件工程】关于计算机的一些问答与思考
  5. Linux(Fedora21)安装google chrome浏览器
  6. linux 切换用户身份、su、sudo、/etc/sudoers
  7. vue2.0的Element UI的表格table列时间戳格式化
  8. 在JS中使用Ajax
  9. 前台传JSON到后台
  10. RHEL 6.5 静默安装 oracle 11.2.4
  11. mongoose学习记录
  12. Animate.css动画库下载、安装、使用与解析
  13. Java代码实现SM2算法以及注意点总结(踩坑记录)
  14. matlab绘制二元一次函数图像_如何用matlab数据拟合函数?用matlab求解多元线性方程...
  15. 把ATmega128开发板转为Arduino
  16. 做生意值得一看的几部电视剧
  17. 谷粒商城-商城业务-检索服务
  18. 每日新闻:联想怎么又是全球第一?
  19. 一行命令 Ping 网段所有 IP
  20. jitter单位_JITTER

热门文章

  1. 多线程多进程解析:Python、os、sys、Queue、multiprocessing、threading
  2. [C++]在Visual Studio 2010中使用Google Test - 配置
  3. 学计算机单招可以报那几个公立学校,为什么要选择公办单招学校,四川公办单招学校有哪些?...
  4. js 数组 ajax php,js里面的对象ajax post到php端直接变成数组了?
  5. 通过BAT、网易、京东产品经理的简历大概什么样?
  6. mysql字符乱码百度_如何解决MySQL字符集乱码问题
  7. 我是如何使用laydate日历插件更换掉老项目不好用的日历插件datepicker的
  8. php 时间周期,php 的生命周期
  9. vue结合ueditor富文本编辑器(换肤分离)
  10. 一张图一个表——CSS选择器总结