用户账户和组账户的的相关文件及文件权限介绍

与用户账户和组账户相关的文件:

/etc/passwd

/etc/group

/etc/shadow

/etc/gshadow

/etc/default/useradd

/etc/login.defs

/etc/skel(Directory)

/etc/passwd:

root:x:0:0:root:/root:/bin/bash

1  2 3 4   5    6       7

1.用户账户登录名称;

2.使用“x”表示密码占位符;

3.用户账户的UID;

4.用户账户的GID,即该用户账户的基本组的ID;

5.注释信息如用户职位、用户完整名称等;

6.用户账户家目录的绝对路径;

7.用户的默认登录shell

/etc/group

root:x:0:gentoo

1  2 3    4

1.组账户名称;

2.组账户密码占位符;

3.组账户的GID;

4.以该组为附加组的用户列表,多个用户之间使用“,”分隔;

/etc/shadow

root:$6$1osUNf6.3L1leJlU$AoKGLJDxcmkWGmXxfxNm2OB79MIlyCgp3hVnUQSRpDfUsIlS2ZJI0J7goegN09qH.JlTktRapf8CLzQIA9zGT0::0:99999

1                                       2                                                                    3  4   5

:7:::

6789

1.用户账户登录名;

2.密码的加密算法+salt+密码的加密结果;$可以看作是这三部分分隔符

3.最后一次修改密码的时间,其表示法为从1970年1月1日到当前系统时间所表示的日期的天数;

4.用户密码的最短使用期限,可以理解为多长时间内不能更改密码;

5.用户密码的最长使用期限,得以理解为多长时间内无需改密码也可以正常登陆;

6.用户密码的使用时间达到最常使用期限之前多少天开始,在用户登录到系统时发送警告信息;

7.用户密码过期之后的宽限期,可以理解为密码过期之后的多少天内,登录系统时仍然可以提示修改密码;

8.用户密码的绝对失效时间,其表示法为从1970年1月1日到指定日期时间的天数; usermod -e 可修改

9.保留,未被使用;

/etc/gshadow

root:::user1,mysuser

1.组账户名称;

2.组账户的加密密码;

3.组管理员,现在废弃了;

4.以该组为附加组的用户账户列表;

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

gpasswd - 管理员 /etc/group 和 /etc/gshadow

格式:gpasswd [选项] group

-a USERNAME:将-a选项指定的用户添加到指定组

-d USERNAME:将-d选项指定的用户从指定的组中移除

newgrp  :用一个新的组重新登录到系统,需要被指定的组有正确密码设置

格式:newgrp [-] [group]

/etc/default/useradd

作用:定义创建用户时的用户属性的默认值的文件

GROUP=100

//在创建用户时,如果没有为用户指定基本组,那么系统会为用户制定一个与用户名相同的组此组作为其基本组;

HOME=/home

//在创建用户时,如果没有为用户指定家目录,则会在/home目录中创建一个与用户名同名的目录作为其家目录;

INACTIVE=-1

//在创建用户时,设定用户密码过期之后的宽限期,默认为-1,意味着关闭用户密码过期期限的功能,即宽限期为永久;

EXPIRE=

//在创建用户时,设定用户的默认登录shell,默认为/bin/bash;

SHELL=/bin/bash

//在创建用户时,为用户的家目录提供默认文件的模板;

CREATE_MAIL_SPOOL=yes

//在创建用户时,是否直接为用户创建邮箱文件,默认创建;

/etc/login.defs

作用:定义shadow_utils相关的属性,包括用户邮箱路径、密码的时间参数、UID和GID的范围,删除用户账户的命令、是否设置私有组(仅包含一个用户并作为该用户主要组)、权限位掩码、家目录创建开关、密码的加密算法;

MAIL_DIR /var/spool/mail

//指定创建用户时指定用想文件的路径;

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5

PASS_WARN_AGE 7

//与密码的时间参数有关的设置;

UID_MIN                  1000

UID_MAX                 60000

# System accounts

SYS_UID_MAX               999

#

# Min/max values for automatic gid selection in groupadd

#

GID_MIN                  1000

GID_MAX                 60000

# System accounts

SYS_GID_MIN               201

SYS_GID_MAX               999

//指定默认的ID选择范围;

#USERDEL_CMD /usr/sbin/userdel_local

//指定删除用户时使用的命令;

CREATE_HOME yes

//是否在创建用户时为用户创建家目录的开关;

UMASK           077

//指定用户家目录的默认权限的掩码;

USERGROUPS_ENAB yes

//是否开启私有组开关

ENCRYPT_METHOD SHA512

//使用何种算法加密密码

/etc/skel

作用:为新创建的用户的家目录提供默认的[shell配置]文件

文件系统的权限管理:

普通权限

特殊权限

文件的扩展属性

FACL(文件系统访问控制列表)

DAC:自主访问控制;

安全上下文:

任何在计算机中执行的任务都是由进程实现的;

进程有必要访问和使用文件或某些数据资源;

进程和其要操作的文件之间的关系可以定义为安全上下文;

在DAC模型中,定义安全上下文的方式很简单:

所有权

任何启动进程的用户就是该进程的所有者;进程的所有者也可以变更;

任何创建文件的用户就是该文件的所有者,文件的所有者是可以变更的;

使用权

在文件上面定义的对该文件的特定使用过滤规则;

三个权限:所有者权限、所属组权限、其他人权限;

安全上下文的匹配规则:

当某个进程想要试图操作某个文件时,DAC将作如下规则匹配:

1.判断进程的所有者和文件的所有者是否为同一用户,如果是,则直接应用文件的所有者权限;

2.如果不是,进一步判断进程的所有者是否为文件的所属组的成员,如果是,则直接应用文件的所属组权限;

3.如果不是,直接应用其他人权限;

文件权限的构成:

使用权:MODE,Permission

三个基本权限:

r:Readable,可读;

w:Writable,可写:

x:eXecutable,可执行;

目录文件:

r:可以使用ls命令获取其中所包含的文件的文件名列表;

w:可以在此目录中进行文件名修改(创建、删除、修改):即:可以创建文件名,删除文件名及修改文件名

x:可以使用ls -l命令来查看各个文件的属性信息;在路径中引用该目录;

非目录文件:

r:可以利用cat类的命令获取文件中存放的数据信息;

w:可以修改(添加,修改,删除,覆盖)文件中所存放的信息;

x:可以将文件发起为进程;

获取使用权和所有权的相关信息:

ls -l[d] /PATH/SOMEFILE

rwxr-xr-x.:三个权限位(属主/所有者,属组/所属组,其他用户)

属主权限:rwx,此权限位标示为user,简写为u;

属组权限:r-x,此权限位标示为group,简写为g;

其他用户权限:r-x,此权限位标示为other,简写为o;

所有权限位可以统一用all标识,简写为a;

注意:“-”表示在该权限位上不具备指定权限;

rwx组合称为“权限标识三元组”

数字权限标识:二进制数字标识,在对应的权限位上有权限则为1,无权限则为0;

--- 000  0

--x 001  1

-w- 010  2

-wx 011  3

r-- 100  4

r-x 101  5

rw- 110  6

rwx 111  7

使用符号标识权限和数字标识权限的区别:

1.使用符号标识法可以只标识某个特定的权限位,也可以同时标识所有的权限位;

示例:

u=rx;ug=rwx;u=rwx,g=rx,o=r;a=rwx

2.使用数字标识只能同时标识所有权限位;

示例:

755;644;7==007;75==075

修改文件的使用权:

chmod - change mode

格式:chmod [options] …MODE[,MODE]…FILE

chmod [options] …OCTAL-MODE FILE…

chmod [options] …--reference=RFILE FILE…

MODE:符号权限标识法:

u,g,o,a:标识权限位;

+,-,=:表示授权方式;

+:表示在指定的权限位上增加指定权限;如果新增的权限是已经存在的权限,则结果相比授权之前无变化;

-:表示在指定的权限位上撤销指定权限;如果撤销的权限是未存在的权限,则结果相比授权之前无变化;

=:表示在指定的权限位上精确授权;此种授权方式不考虑该权限位原有的权限设定的;

r,w,x:表示具体的权限;

注意:

chmod +/- r/x FILE:在所有的权限位上增加或撤销读或执行权限;

chmod +/- w FILE:仅在所有者权限位上增加或撤销写权限;

注意:

对于文件来说,执行权限是非常重要的安全上下文标识,因此默认情况下,Linux中所有的非目录文件都不应该有执行权限;因为一旦非目录具有了执行权限,则意味着该文件可以被执行,发起为进程,则可以按需使用系统资源;

OCTAL-MODE:八进制数字标识法

示例:

# chmod 640 root.txt(给此文件赋予权限rw-r-----)

--reference=RFILE

示例:

# chmod --reference=/etc/shadow root.txt

//参考/etc/shadow文件的权限为root.txt设置相同权限

常用选项:

-R,--recursive:递归地设置目标文件或目录的权限(目录里的文件都有相同的权限);(使用时要确保安全性因为文件被授予执行权限                  很危险)

修改文件的所有权:

chown

chown - change file owner and group//修改文件的属主和属组

格式:chown [OPTION]... [OWNER][:[GROUP]] FILE...

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

示例:

~]# chown user3 test1       :只修改文件的所有者变更为user3 所属组不变

~]# chown user3: test2      :文件的所有者变为user3,所属组为user3的主要组

~]# chown :user3 test3      :文件的所有者没变,所属组为user3

~]# chown user3:myser test4 :文件的所有者为user3,文件的所属组为myser

注意:在使用chown命令时,特别的,可以使用“.”代替“:”;

常用选项:

-R,--recursive:递归的设置目标文件或目录的所有权;

注意:对于文件来说,普通用户可以修改所有者为自己的文件的使用权,但无法修改文件的所有权,修改文件的所有权只能是root用户可以完成;

chgrp(不常用)

chgrp - change group ownership

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

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

注意:chown和chgrp命令所指定的用户和组,既可以使用户名和组名,也可以是UID和GID;

mkdir

-m MODE:在创建目录时为其指定权限

install命令:

install - copy files and set attributes

格式:install [OPTION]... [-T] SOURCE DEST

单源复制,为复制后的文件增加执行权限

install [OPTION]... SOURCE... DIRECTORY

多源复制,为复制后的文件增加执行权限

install [OPTION]... -d DIRECTORY...

创建目录

常用选项:

-g, --group=GROUP

set group ownership, instead of process‘ current group

//设定目标文件的所属组为指定组,而不是进程所有者的主要组;

-m, --mode=MODE

set permission mode (as in chmod), instead of rwxr-xr-x

//设定目标文件的权限,而不是rwxr-xr-x;

-o, --owner=OWNER

set ownership (super-user only)

//设定目标文件的所有者,仅root可用;

注意:install命令,不能复制目录,即不能以目录为源文件;如果其源文件是一个目录,则stall命令会进入该目录,依次复制其中的所有非目录文件到目标位置;

特殊权限:

SUID,SGID,STICKY

SUID:SUID仅设置在可执行的文件上,默认情况下,当用户执行此类可执行文件时,被发起的进程的所有者不是进程的发起者,而是可执行文件的所有者;换句话说,进程以文件所有者的身份运行;

SUID权限所显示的位置:文件的属主的权限位中的执行权限位上,如果属主本来就具有执行权限,则显示为“s”;如果属主本来没有执行权限则显示为“S”;

管理SUID权限:

1.符号标识法:chmod u+s FILE

2.数字标识法:chmod 4755 FILE

SGID:SGID可设置在可执行文件或目录的属组权限位的执行权限上,

如果某个目录设置了SGID权限并且对于某些用户有写权限,则所有在此目录中创家的新文件和目录的所属组均为其父目录的所属组,而并非发起进程者的主要组;

SGID权限的显示位置:文件的属组权限位上的执行权限上;如果属组本来就有执行权限,则显示为“s”,否则,就显示“S”;

管理SGID权限:

1.符号标识法:chmod g+s FILE

2.数字标识法:chmod 2770 DIR

STICKY:STICKY仅设置在目录的其他用户权限位的执行权限上;

如果在某个目录上的权限设置为多个用户都拥有写权限,那就意味着凡使用有写权限的用户都能直接管理该目录中的所有文件名,包括该名文件及删除文件名等操作,因此需要在这样的目录上设置STICKY特殊权限;如果此类目录设置了STICKY,则所有用户即便用有写权限,也仅能删除或改名所有者为其自身的文件;

STICKY权限的显示位置,在目录的其他用户的权限位的执行权上;如果该权限位本来有执行权限,则显示为“t”,否则显示为“T”;

管理STICKY权限:

1.符号标识法:chmod o+t DIR

2.数字标识位:chmod 1777 DIR

权限遮罩码:umask

作用:在创建目录或文件时被创建出来的目录或文件的默认权限上要删除遮罩码上所对应的权限;

注意:在创建目录或文件时,默认不会设置特殊权限;

对于目录:默认的权限为0777-umask   0777-0033=0744

对于非目录文件:默认的权限位0666-umask  0666-0033=0644

umask[OCTAL-MODE]

默认设置遮罩码的文件:/etc/bashrc

规则:如果用户的UID大于199并且用户的用户名和主要组的组名相同,则遮罩码为002,否则遮罩码为022;

文件的扩展属性:

lsattr:

lsattr - 显示文件在Linux第二扩展文件系统上的特有属性

格式:lsattr [ -RVadv ] [ files...  ]

chattr:

chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性

格式:chattr [ -RV ] [ -v version ] [ mode ] files...

mode可以是:+-=[aAcCdDetjsStTu]

+:表示在指定的权限位上增加指定权限;如果新增的权限是已经存在的权限,则结果相比授权之前无变化;

-:表示在指定的权限位上撤销指定权限;如果撤销的权限是未存在的权限,则结果相比授权之前无变化;

=:表示在指定的权限位上精确授权;此种授权方式不考虑该权限位原有的权限设定的;

a:在向文件写数据时,只能以附加的形式进行写操作;文件的内容不能被更改或删除;

A:atime,文件的访问时间戳控制属性;对于并发访问量较大或者并发访问频率较高的文件,应该设置此属性以降低IO成本;防止IO瓶颈;

c:是否自动压缩之后再存储;

C:是否开启“写时复制”;

d:使用dump备份文件系统时,跳过属性设置为d的文件;

D:设置文件的文件系统中的异步写操作;

i:设置文件不能被删除,改名及设定连接关系;

s:设置文件的保密性删除;

u:与s属性相反,如果此类文件被删除,则在存储器中会继续保存其内容;

FACL:

Filesystem Access Control List,文件系统访问控制列表

想要应用此功能,必须让文件能够支持

FACl为文件系统的额外赋权机制;

在原有的u,g,o权限位之外,让普通用户能够控制权限赋予另外的某个指定的用户或组的一种赋权机制;

这种机制在centos或者RHEL7之后的发行版本中才逐渐成熟;

与FACL相关的命令:

getfacl:

getfacl - get file access control lists

格式:getfacl [-aceEsRLPtpndvh] file ...

getfacl [-aceEsRLPtpndvh] -

setfacl:

setfacl - set file access control lists

格式:setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

setfacl --restore=file

常用到的选项:

-m acl_spec:为指定文件设置acl_spec

-x acl_spec:将acl_spec从指定文件上移除;

acl_spec:acl_specification,acl规格,访问控制列表;

u:USERNAME:MODE

g:USERNAME:MODE

MODE一般是使用符号权限标识法标识的权限;

示例:

为文件赋予指定用户的额外访问权限:

setfacl -m u:link:rwx /tmp/temp/

撤销指定文件的额外访问权限:

setfacl -x u:link /tmp/temp

注意:如果设置了FACL之后,在修改目标文件的使用权限,那么FACl中设置的权限的权限条目可能受到影响而导致授权失败,因此,为了保证没有此项干扰,应该先调整目标文件或目录的权限,再设置FACL;

时间: 2024-08-29 19:54:03

用户账户和组账户的的相关文件及文件权限介绍的相关文章

用户和组账户的管理

用户和组账户的管理的基础和基本操作 计算机就是让我们使用资源的,但是我们的计算机不能让每个人的权限一样,所以我们需要设置多个不同权限的用户,有不同的身份认证,从而使用不同的操作.从而就有了多任务操作系统. 计算机能够实现资源使用和完成任务的主体是:应用程序进程 进程是以发起者的身份运行的:可以理解为,进程的所有者就是其发起者:每个进程上都会标记上其所有者的身份信息: 当进程试图访问资源的时候,安全上下文回避对进程的所有者和资源的所有者之间的关系: 首先,查看进程的所有者是否和资源的所有者为同一用

12.用户和组账户管理

1.用户账户 A.普通用户账户:普通用户在系统上的任务是进行普通操作 B.超级用户账户:管理员在系统上的任务是对普通用户和整个系统进行管理.对系统具有绝对的控制权,能够对系统进行一切操作. 2.组账户 A. 私有组:当创建一个用户时没有指定属于哪个组,Linux就会建立一个与用户同名的私有组,此私有组只含有该用户. B.标准组:当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组. 3.账户系统文件 A./etc/passwd 每行定义一个用户账

windows_learn 002 用户管理和组策略

内容总览 域用户与组的管理 用户和组 用户登录名 添加用户工具 在活动目录中使用组 为何使用组? 全局组 Global Group Rules 域本地组 Domain Local Group Rules 通用组 Universal Group Rules 在域中使用组的策略 使用组的方针 组策略规划及部署 组策略规划及创建 组策略对象的工具 域用户与组的管理 概述 管理域用户账户 添加多个用户账户 域组账户 组的使用准则 用户和组 每个用户账号创建一个唯一的登录名 使用批处理创建多个用户 将用户

Linux的一些简单命令(四)-用户和组账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源.系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰 1.保存用户信息的文件:/etc/passwd 2.保存用户密码的文件:/etc/shadow 3.保存用户组的文件:/etc/group 4.保存用户组密码的文件:/etc/gshadow 5.用户配置文件:/etc/default/useradd 6.linux的用户分类: 超级用户(root,UID=0)  普通用户(UID在

解决苹果电脑(mac)管理员账户变成了普通用户后不能解锁用户与群组的问题

亲们,我先说说前因,然后再说一下解决方法. 前因 今天不知怎么就想把苹果电脑原来的名字给改一下,于是就做了下面的操作(你们不要这样做) 1.系统偏好设置→用户与组群→当前管理员用户→(右键)高级选项 然后就账户名称和全名都改了. 2.然后就哭了,我的管理员账户就变成了普通用户,不能解锁用户和群组了,但还能正常使用. 3.然后就开始了寻找解决之路. 4.大家以后要改就只改全名就好,其他的不要动,如果动了 管理员权限 就没有了. 解决的方法 思路 先建一个新(管理员账户1)把原来的账号提升成(管理员

自学Linux Shell7.1-linux用户账户和组

点击返回 自学Linux命令行与Shell脚本之路 7.1-linux用户账户和组 linux安全系统的核心是用户账户.每个能进入linux系统的用户都会被分配唯一的用户账户,用户对系统中各对象的访问权限取决于他们登陆时用的账户. 在你登录Linux系统启动一个bash shell时,默认情况下bash在几个文件中查找命令,这几个文件成为启动文件:bash检查的启动文件取决于你启动bash shell的方式,启动bash shell有3中方式: 登录时当做默认登录shell: 作为非登录shel

Linux命令之账户和组的管理

Linux系统对账号和组的管理是通过ID号来实现的,用户ID称为UID,组ID称为GID.其中,UID为0,代表超级管理员,即root账号.组分为基本组和附加组,一个用户在同一时刻只能有一个基本组,但可以加入多个附加组.系统默认在创建用户时会同时创建同名的组,并且为基本组. 一 创建用户和组: 1 useradd:创建新账号 选项:-c    账号描述信息,一般为全称 -d    设置家目录,默认为/home/用户名 -e    设置账户的失效日期,格式为2017-10-30 -g    设置账

Windows 2003隐藏用户(匿名后门账户)怎么发现,创建及删除

一."命令提示符"中的阴谋 其实,制作系统隐藏账户并不是十分高深的技术,利用我们平时经常用到的"命令提示符"就可以制作一个简单的隐藏账户. 点击"开始"→"运行",输入"CMD"运行"命令提示符",输入"net user piao$ 123456 /add",回车,成功后会显示"命令成功完成".接着输入"net localgroup ad

Linux基本命令——组账户管理

一,组账户文件     组账户文件由/etc/group./etc/gshadow两部分组成,前者保存着组账户的名称.GID号.组成员等信息,后者用于保存组账号的加密字符串等(但很少用到). 二,添加.删除.修改组账号 1.groupadd命令--添加组账户     命令格式:groupadd [选项] 组账号 -g:指定GID号 2.gpasswd命令--添加.设置.删除组成员     命令格式:gpasswd [选项] 成员名 组名   -a:添加成员 -d:删除成员 -M:同时指定组账号的