linux的用户、组和权限管理

用户的类别分为管理员和普通用户

管理员用户即为root,普通用户分为两类,为系统用户和登录用户。系统用户仅能用于运行的服务程序,而登录用户则用于系统资源的正常使用者。

每个用户都有自己的标识,为UserID,即UID。管理员的UID为0 。系统用户在CentOS6中为1-499,CentOS7为1-999。而普通用户在CentOS6中为500+,CentOS7中为1000+。

 ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

解析库,就是在username与userid之间来回转换的,若‘id = 0’,则能得到当前用户为root,对于用户账号来讲,是存放在/etc/passwd文件中的,passwd不仅能存放用户的uid,username,还能存放用户的家目录,默认的shell等等。

用户组分为管理员组和普通用户组。

组也有组的标识,即组ID,在Linux中被称为GID(GroupID),管理员的GID = 0,对于系统组,在CentOS6中为1-499,CentOS7为1-999。而普通用户组在CentOS6中为500+,CentOS7中为1000+。组名称是人来用的,而组ID是机器用的,这就用到了名称解析,来实现GID与组名之间的转换。而组名解析库就是/etc/group。

一个用户可以属于几个组,由此引出组类别,组类别以用户为核心分为基本组和额外组;根据组内容纳的用户来划分,分为私有组和公共组。私有组是与用户名相同,且只有一个此用户;公共组则包含了多个用户。

安全上下文:进程是以某个用户的身份运行,进程的操作权限取决于他所代表的用户。进程的运行者若与文件的属主相同,则以文件属主的身份访问该文件;若进程的运行者属于文件的属组,则以文件属组的身份来访问该文件,若不属于以上二者,则以其他身份来访问该文件。

管理员权限之增删查改:

用户和租的管理主要以命令运行。

组:groupadd,groupmod,groupdel

用户:useradd,usermod,userdel

认证机制:passwd,给用户指派一个密码,用户的认证信息库存储于/etc/shadow,组的认证信息库存储于/etc/gshadow。

groupadd命令:添加组

groupadd -g:指明GID  groupadd -r:--system

[[email protected] ~]# tail -1 /etc/group
mygrp:x:4004:

mygrp:组名      x:组密码占位符    4004:代表当前组的GID   空白表示:以此组为附加组的用户列表,以逗号分割

以GID为2000新建一个用户组,则能查看改组的GID为2000。

 ~]# groupadd -g 2000 testgrp
[[email protected] ~]# tail -1 /etc/group
testgrp:x:2000:

若创建一个名为jie的系统组,则能看到组名为jie,组ID为992

 ~]# groupadd -r jie
[[email protected] ~]# tail -1 /etc/group
jie:x:992:

若要指明改组的GID为911,则用-g来指明gid

 ~]# groupadd -r -g 911 wang
[[email protected] ~]# tail -1 /etc/group
wang:x:911:

若发现创建的组的信息不符合,则用groupmod来修改组信息。

groupmod -g:修改GID   groupmod -n:修改组名

若将刚刚创建的系统组名为wang的用户的GID改为119,则为:

~]# groupmod -g 119 wang
[[email protected] ~]# tail -1 /etc/group
wang:x:119:

若不需要这个组了,则用groupdel去删除组。

若删掉刚刚创建好的jie的组,则为

~]# groupdel jie

useradd命令:添加用户

添加一个用户名为wang的用户:

 ~]# useradd wang
[[email protected] ~]# tail -1 /etc/passwd
wang:x:3006:3006::/home/wang:/bin.tcsh

useradd -c:指明用户的注释信息,一般为用户的全名

useradd -d:指明用户的家目录路径,目标路径不能实现存在  /path/to/home

useradd -g:指明用户的GID

在这里创建一个GID为4911的GID,但是因为4911这个组不存在,所以需要先创建一个组ID为4911的组。

 ~]# useradd -g 4911 wangwang
[[email protected] ~]# id wangwang
uid=3912(wangwang) gid=4911(wangwang) 组=4911(wangwang)

useradd -G:用户还属于的其他附加组组列表,每个组间用逗号隔开,中间无空格

useradd -m:强制创建家目录

useradd -M:不创建家目录

useradd -s:指明用户的shell名

~]# useradd -s /bin/csh nan
[[email protected] ~]# tail -1 /etc/passwd
nan:x:3913:3913::/home/nan:/bin/csh

useradd -u:表明用户的UID号

创建一个名为jie的用户,并指明该用户的uid为3911

 ~]# id jie
uid=3911(jie) gid=3911(jie) 组=3911(jie)

用户提供默认配置的配置文件:/etc/login.defs,/etc/default/useradd

usermod命令:修改账号信息

usermod -c: 修改注释信息

usermod -d:用户的新登录目录,用-d的同时要用到-m,会将用户此前目录中的内容移动到新目录中。

usermod -g:修改用户的GID

usermod -l:修改当前用户的用户名

usermod -L:锁定用户的密码。这会在用户加密的密码之前放置一个‘!’。

 ~]# tail /etc/shadow
mageedu:$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxStLI41ZhfF1:16859:0:99999:7:::

在执行usermod -L之后:可看见在开头有一个‘!’。

 ~]# tail /etc/shadow
mageedu:!$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxStLI41ZhfF1:16859:0:99999:7:::

若要解锁该账户,则用usermod -U来解锁。

 ~]# tail /etc/shadow
mageedu:$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxStLI41ZhfF1:16859:0:99999:7:::

userdel:删除用户账号

userdel -r:用户主目录中的文件将随用户主目录和用户邮箱一起删除。

[[email protected] skel]# ls /var/spool/mail
gentoo  hive  jie  mageedu  mageeud  mint NAME  nan  rpc  slackware  strom  ubuntu wang  wangjie  wangwang
[[email protected] skel]# userdel -r ubuntu
[[email protected] skel]# ls /var/spool/mail
gentoo  hive  jie  mageedu  mageeud  mint NAME  nan  rpc  slackware  strom  wang wangjie  wangwang

passwd命令:密码管理命令

passwd不带任何参数:修改自己的密码

passwd username:修改其他用户的密码,进管理员有权限。

~]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

passw -l:锁定密码

passwd -u:解锁密码

passwd -f:强制生效,含lock无法用

passwd -d:清除密码

passwd -e:账号的过期期限

--stdin:从标准输入接收密码

 ~]# echo "12345678" | passwd --stdinwangjie
更改用户 wangjie 的密码 。
passwd:所有的身份验证令牌已经成功更新。

指的是echo一个12345678作为wangjie的密码。

id命令:查看用户相关的id信息

id -u:仅查看uid

id -g:仅查看gid

id -G:查看所属的所有组的ID

id -n:显示名称,而非ID

查看用户wangjie的UID

~]# id -u wangjie
1001

su命令:switch user

切换用户时:

(1)不读取目标用户的配置文件(非登陆式切换,半切换)

su  USERNAME

(2)读取目标用户的配置文件(登陆式切换,全切换)

su -l USERNAME     su - USERNAME

root切换到任何其他用户都无需密码,普通用户切换到其他用户需要密码。

gpasswd命令:为组添加密码

组密码文件:/etc/gshadow

gpasswd -a USERNAME:向此组添加用户,以此组作为附加组

gpasswd -d USERNAME:从此组中移除此用户

newgrp命令:登陆到一个新组

chage:修改用户账号的各种期限

若要添加一个用户,则系统中发生了什么看不见的操作?

/etc/default/useradd定义了新建用户的属性,将/etc/skel/文件复制到新建用户的家目录中。

用户的权限:

大体上分为三类用户,属主,属组和其他。权限分为r(可读的)、w(可写的和)x(可执行的)。

文件的权限:

r:可使ls命令去获取其下的所有文件列表,但不能用ls -l去查看目录信息,也不能cd到此目录中。

w:可修改此目录下的文件列表,可在该目录下创建或删除文件。

x:可用ls -l来获取其详细信息,也可以cd到此目录。

权限用10个字母来表示。

-rwxrwxrwx,除了第一个之外,每三个字母为一组。

第一个(-)代表这个文件是目录,文件或者链接文件等。用(d,-,l,b,c)来表示。

第一组rwx代表用户的属主,第二组rwx代表用户的属组,第三组rwx代表其他。

若要改变用户权限,则使用chmod命令。

~]# ls -l /tmp/
总用量 24
drwxr--r--. 2 root    root       6 3月   6 20:09 testing

在上面可以看到用户的属组权限只为一个r,那么我想要属组权限有写权限,要其他有可执行权限,则用chmod命令。

~]# chmod 765 /tmp/testing
 ~]# ls -l /tmp/
drwxrw-r-x. 2 root    root       6 3月   6 20:09 testing

由上可见用户的权限被我用chmod命令改变了,也有其他的方法去改变用户权限。在这里定义了属主=‘u’,属组=‘g’,其他=‘o’。若要将刚刚改好的属组的写权限抹去,同时抹去其他用户的执行权限,也可用这种方法:

~]# chmod g-x,o-r /tmp/testing
drwxrw---x. 2 root    root       6 3月   6 20:09 testing
时间: 2024-11-03 21:43:19

linux的用户、组和权限管理的相关文章

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

Linux用户,组和权限管理

用户,组,权限 一.了解什么是用户,组和权限 1.对于linux系统来说,简单明了的特点就是多用户,多任务,也就是说一台linux系统的主机上面可以同时允许多个用户登录,当通过多个终端登录时可以同时使用这台linux的系统,然而对于linux习题来说,一切皆文件,别人和自己的工作任务都是以文件的形式存在的,不同的用户之间岂不是没有隐私或者安全而言,其实在linux上不是这样的,我们可以理解linux把每一个用户分配一间屋子,没有钥匙即权限我们是进不去浏览以及修改文件的,但是既然是一间屋子,那当然

linux 用户 组 和权限管理

Multi-task  Multi-Users 每个使用者: 用户标识 . 密码: Authentication(认证机制): Authorization  (授权机制): Account / Audition (审计): 组:用户组,用户容器 用户类别: 管理 普通用户 系统用户 登录用户 用户标识: UserIo ,UID 16bits 二进制数字:0-65535 管理员:0 普通用户: 1-65635 系统用户   1-499(Centos6)    1-1000(CentOS7) 登录用

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

详解用户,组,权限管理

内容介绍: 我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理. 需要使用的工具: 用户相关工具:useradd; userdel; usermod;id;su等: 组相关工具:groupadd; groupdel; groupmod等: 权限管理工具:chmod; chown; chgrp:umask等: 一.用户类别: 管理员:root,管理员用户标识UID:0 普通用户:(系统用户

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

用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学

2017-11-13Linux基础知识(11)用户、组和权限管理

在之前的章节中讲述了bash的基础特性以及IO重定向以和管道等其它的功能程序,之后介绍了一些其相关的命令,例如:tr和tee命令等,之后我们介绍了Here document,在这一章中,我们开始讲述用户.组及权限管理中的一部分,我们首先来说用户和组. 一.用户 Linux操作系统是一款多用户Multi-Users及多任务Multi-tasks的操作系统,也就是说,可以多个用户同时登录该系统执行各自的任务,彼此用户与用户之间互不干扰,这也是当时为了解决主机资源所提供的一种有效手段,那时候主机都在中

用户,组和权限管理

用户,组和权限管理 概述:在Linux中由于可以实现多用户和多任务的管理,所以在Linux中用户和组与文件的权限关系显得格外重要.如果出现混乱,那么在用户使用时会给系统造成很多不稳定性的因素.这也是linux系统相对于其它操作系统更安全的原因之一. linux系统中用户分为: 系统用户: centos6上的UID(1-499) centos7上的UID(1-999) 注:系统用户无法登陆到系统之中 登录用户 centos6上的UID(500+) centos7上的UID(1000+)待 (通过交

用户与用户组权限管理详解

用户及用户组权限管理    Linux是一个多任务多用户的系统,多用户可以同时登陆同一台主机.为了考虑到每个人的隐私权和工作空间,这时候文件所有者(owner)就是即用户的角色就变得尤为重要了,同时为了用户与用户之间方便合作,共享一些公共资源,这时,为了实现资源的快速分配,我们把多个用户放在一个公共的空间,分别赋予他们不同的读写执行等操作的权限,这些用户共同组成的一个整体,就是所谓的用户组(group). 第一部分 Linux权限管理 用命令ls -l可以列出用户的权限. #ls -l 这里我们

centos6.5的用户和文件权限管理

用户和文件权限管理 实验环境 公司的Linux主机即将提供给技术部作为开发服务器使用,根据部门内项目组的构成情况,首先需要建立相应的组账户.用户账户,并为相关目录设置权限:还需要设置一个共用的数据存储目录,便于同事之间的数据交换. 需求描述 建立用户目录 创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账号宿主文件夹.例如,kylin用户的宿主目录应位于/tech/benet/kylin. 添加组账户 为两个项目组添加组账号benet.accp.GID号分别设置为