linux中的账号权限管理

liukai11 liukai11     2022-11-30     380

关键词:

一、用户账号和组账号概述

Linux基于用户身份对资源访问进行控制

1.1、用户账号

超级用户root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。

普通用户:root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。

程序用户∶在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等。

1.2、组账号

基本组 (私有组)基本组账号只有一个,一般为创建用户时指定的组。在/etc/passwd文件中第4字段记录的即为该用户的基本组 GID 号。

附加组 (公共组)∶ 用户除了基本组以外,额外添加指定的组。

可以理解为基本组在创建系统时用户自带的组,附加组为用户自己加入的组。

UID∶ 用户标识号

GID∶ 组标识号

root 用户账号的 UID和GID 号为固定值 0

程序用户账号的 UID和GID 号默认为 Centos5,6∶ 1~499,Centos7∶1~999

普通用户的 UID和GID 号默认为 Centos5,6∶ 500~60000,Centos7∶ 1000~60000

 

二、用户账号设置操作

2.1、用户账号文件/etc/passwd

保存用户名称、宿主目录、登录Shell等基本信息

文件位置在/etc/passwd中,每一行对应一个用户的账号记录,多项操作命令都可进行查看,我们以vim /etc/passwd为例

字段分析:

字段一(root):用户账号的名称

字段二(x):用户密码占位符“x”

字段三(0):用户账号的UID号

字段四(0):所属基本组账号的GID号

字段五(root):用户全名

字段六(/root):宿主目录(家目录)

字段七(/bin/bash):登录shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统

 

2.2、用户账号文件/etc/shadow

保存用户的密码、账号有效期等信息

文件位置在/etc/shadow,每一行对应一个用户的密码记录,多项操作命令都可进行查看,我们以vim /etc/shadow为例

字段分析:

字段一(root):用户帐号的名称

字段二(密码):使用MD5加密的密码字串信息,当为"*"或"!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统

字段三:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数

字段四(0):密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制

字段五(99999):密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制

字段六(7):提前多少天警告用户密码将过期,默认值为7

字段七:在密码过期之后多少天禁用此用户

字段八:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用

字段九:保留字段(未使用)

 

2.3、添加用户账号

添加用户账号 useradd 或者 adduser,在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录。

未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/qroup 和/etc/qshadow文件中。

例如我想创建一个名称为abc,UID号为3000,基本组GID号为1000,失效时间在今年年底,且可以登录系统的账户

操作命令应该为:useradd -d /home/abc -u 3000 -g 1000 -e 2021-12-31 -s /bin/bash abc

注:此时还不能登入操作系统,还需配置密码才可

 

2.4、设置/更改用户口令passwd

root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码。普通用户却只能执行单独的"passwd"命令修改自己的密码。

例如上面创建的abc用户,如果进行passwd—l操作就会锁定账户,登录界面就不会显现

 

2.5、修改用户账号的属性usermod

-u -d -e -g -G -s选项意义和useradd选项意义相同

-U与passwd-u意义相同

-L与passwd-l意义相同

例如将abc用户登录名改为123,操作命令应该是:usermod -l 123 abc

 

2.6、删除用户账号userdel

userdel +用户名 只删除用户名

userdel -r +用户名 表示连用户的宿主目录一起删除

 

2.7、用户账号的初始配置文件

useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件,一般为隐藏文件

这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件

主要的用户初始配置文件有:~/.bash-profile     ~/.bashrc      ~/.bash-plogout

用户宿主目录下的初始配置文件 只对当前用户有效

~/.bash profile:此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件

~/.bashrc:此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc(全局系统配置)文件

~/.bash logout:此文件中的命令将在用户每次退出登录或退出bash shell时执行

 

全局配置文件对所有用户有效

/etc/profile:这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile 命令使profile文件被读取

/etc/profile.d/:这个文件实际上.是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本

/etc/bashrc:每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell时,使 bashrc文件被读取

当有些配置想在每个bash环境中都执行,可以写进/etc/bashrc中,或者写进 ~/.bash profile中,不过需要加上export来使它每次启动都生效

 

三、组账号文件

与用户账号文件相类似

/etc/group:保存组账号基本信息

/etc/gshdow:保存组账号的密码信息

字段分析:

字段一(root):组账号的名称

字段二(x):占位符“x”

字段三(0):组账号的GID号

字段四:组账号包含的用户成员(一般不包括基本组对应的用户账号,包含的是附加组成员),多个成员之间用逗号分割

 

3.1、添加组账号groupadd

goupadd    [-g GID]     组账号名

例如添加一个GID号为1234,名字为111的组账号:groupadd -g 1234 111

 

3.2、添加删除组成员

gpasswd命令:设置组账号密码(极少用)、添加/删除组成员

例如将abc用户添加到111组内:gpasswd -a abc 111

 

 

3.3、删除组账号groupdel

操作命令:groupdel   组账号名

 

四、文件/目录的权限和归属

4.1、查询账号信息

查询用户所属组:groups 【用户名】

查询用户身份标识:id  【用户名】

查询用户账号的登录信息:finger  【用户名】(注:需要先安装finger软件包)

查询已登录到主机用户信息:w、who、users命令

此命令还可以查询到cpu的负载情况等

 

4.2、文件/目录的权限和归属

访问权限

读取r:允许查看文件内容、显示目录列表

写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

可执行x:允许运行程序、切换目录

归属(所有权)

属主:拥有改文件或目录的用户账号

属组:拥有改文件或目录的组账号

 

注:文件默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw)

目录默认有x权限,故目录的最大默认权限为777(drwxrwxrwx)

这里的数值都是8进制数值

 

4.3、设置文件和目录的默认权限umask

umask作用

控制新建的文件或目录的权限

默认权限去除umask的权限为新建的文件或目录的权限(默认权限666或777-umask值=新建文件或目录的权限

可以通过umask操作命令来查看或修改umask值,默认值为022

小实验:设置umask值为111,创建名称000的txt文件,查看其权限

根据默认权限666相减可得新建的文件权限为555,因文件默认没有x权限,所以遇到单数111,333,555需向前进一位变成222,444,666

 

4.4、设置文件和目录的权限chmod

chmod命令:chmod   【ugoa】    【+-=】    【rwx】    文件或目录

u代表属主、g代表属组、o代表其他用户、a代表所有用户

+代表增加、-代表去除、=代表设置权限

r代表读、w代表写、x代表运行权限

或者是 chmod     nnn    文件或目录

nnn代表三个权限的八进制

常用选项-R:递归修改指定目录下所有子项的权限

 

4.5、设置文件和目录的归属chown

chown命令

修改属主:chown   属主   文件或目录

修改属组:chown   :属组   文件或目录

修改属主和属组:chown   属主:属组   文件或目录

常用选项-R:递归修改指定目录下所有文件、子目录的归属

例如将123.txt文件的属主和属组改为abc和111

chown abc:111 123.txt

 

 

 

 

 

 

linux账号和权限管理

一、用户账号和组账号概述Linux基于用户身份对资源访问进行控制1、用户账号分为三种超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的普通用户:有root用户或其他... 查看详情

linux用户组管理

--用户管理讲解在Linux中,每个用户都有一个账号,并且对于不同的系统资源拥有不同的使用权限系统账号可以分为两种类型:(1)用户账号(每个用户都拥有一个uid,gid)1.管理员root用户和普通账户(2)组账号1.通过使用组账号... 查看详情

linux安装及管理应用和账号和权限管理讲解

♥️作者:小刘在C站♥️个人主页:小刘主页♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生!♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真... 查看详情

sudo权限

...管理员管理系统方便吗?答:默认只有root这一个管理员账号。一个账号管理系统很不方便。问题:如何在linux系统中指定多个管理员账号?答:方案一:用普通用户账号远程登录到服务器,然后用su-root临时切换到root账号去管理... 查看详情

账号和权限管理

管理用户账号和组账号管理目录和文件的属性 用户账号和组账号概述Linux基于用户身份对资源访问进行控制用户帐号超级用户:root用户,拥有最高权限,基本上的权限都有,可能极个别权限会被限制,普通用户:刚开始我们... 查看详情

linux添加新用户账号并赋予root权限

除了root用户之外,通常需要为每个管理创建各自的用户账号,方便每个管理员登录使用,步骤如下:1. 添加新用户账号  useradd mary.lee2. 为新用户账号设置密码  passwd[email protected]3.为新用户账号赋予root权限 ... 查看详情

账号和权限管理(代码片段)

账号和权限管理一、用户账号和组账号基本概述用户账号用户账号说明超级用户root用户,对主机拥有最该权限。系统中超级用户是唯一的普通用户由root用户和其他管理员创建,拥有的权限会受到限制,一般只在用户... 查看详情

linux操作命令分类详解-用户权限(代码片段)

目录系列文章1、用户账号管理1.1 useradd/adduser添加用户账号1.2 userdel 删除帐号1.3 usermod修改帐号1.4passwd 用户口令的管理2用户组管理2.1groupadd增加用户组2.2groupdel删除用户组2.3groupmod修改用户组2.4newgrp切换用户组3、与用户账号有... 查看详情

maxcompute项目子账号做超级管理员

...绍super_administratorrole,以及作为超级管理员日常管理工作中的一些建议。关于super_administratorroleSuper_Administratorrole:MaxCompute新增内置的管理角色,拥有操作项目内所有类型资源的权限和管理类权限,具体权限请参考文档管理角色... 查看详情

linux操作命令分类详解-用户权限(代码片段)

目录系列文章1、用户账号管理1.1 useradd/adduser添加用户账号1.2 userdel 删除帐号1.3 usermod修改帐号1.4passwd 用户口令的管理2用户组管理2.1groupadd增加用户组2.2groupdel删除用户组2.3groupmod修改用户组2.4newgrp切换用户组3、与用户账号有... 查看详情

kali权限提升之本地提权

...资料  Administrators:管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制   System:拥有和Administrators一样、甚至比其还高的权限,但是这个组... 查看详情

我是linux初学者,使用的版本是fedora,请问为啥我使用管理员账号登录依然显示无root权

...nux初学者,使用的版本是fedora,请问为什么我使用管理员账号登录依然显示无root权限?,应该如何获取权限?管理员不是root要想获得root权限就需要以root账户登录或者用管理员登录后用su命令来变成root追问我是初学者,请问使... 查看详情

用户和文件权限管理

...,根据部门内项目组的构成情况,首先需要建立相应的组账号、用户账号,并为相关目录设置权限;还需要设置一个共用的数据存储目录,便于同事之间的数据交换。需求描述:一、建立用户目录。创建目录/tech/benet和/tech/accp,... 查看详情

linux基础08linux用户权限相关命令(代码片段)

...论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限对文件/目录的权限包括:序号权限英文缩写数字 查看详情

linux中的用户组与权限管理

Linux中的用户以令牌token,identity为标识符号,每一个用户都拥有一个Username和UID,root用户比较特殊,他的的UID为0。普通用户的UID由系统在1-60000范围内自动分配,系统用户的UID默认取值范围为1-499,Centos7之后范围扩大至1-999,登录... 查看详情

linux用户权限基础知识学习

用户与用户组相关概念我们装完虚拟机后会创建一个账号,那个账号我们可以理解为用户,也就是操作系统的人,我们叫做用户。Linux是一个多任务多用户的操作系统,任何一个要使用系统资源的用户,都必须... 查看详情

《学习》13权限管理

--用户与权限管理--查看当前服务器上的所有账号密码主机SELECTUSER,PASSWORD,HOSTFROMmysql.user;--设置账号密码SETPASSWORD=PASSWORD(‘111‘);--密码为空取消密码SETPASSWORD=‘‘;--查看当前登录帐号名主机名SELECTUSER();--修改某账号的密码,前提... 查看详情

用户账号管理ntfs权限管理磁盘及文件系统

用户账号管理、NTFS权限管理、磁盘及文件系统一、用户帐号管理1、用户帐号不同的用户身份拥有不同的权限、每个用户包含唯一的登录名和对应的密码、每个用户帐号拥有唯一的安全标识符(SID)2、用户账号的管理操作(1)... 查看详情