CentOS7用户管理

用户和组的相关配置文件

​ 用户一般来说是指使用计算机的人,计算机针对使用它的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行,因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中拥有至高无上的特权,所以一般只做管理来用,非特权用户可以通过SU或SUDO程序来临时获得特权

​ GNU/Linux通过用户和用户组实现访问控制----包括对文件访问,设备使用控制

​ 个人可以拥有很多个账户,只不是彼此的名称不同,比如root名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获得该组的特权

​ GNU/Linux系统中的每一个文件都有属一个用户(属主)和一个用户组(属组),另外,还有三种类型的访问权限:读(read)、写(write)、运行(execute),我们可以针对文件的属主,属组,而设置相应的访问权限,再次,我们可有通过ls|stat命令查询文件的属主、属组和权限,例如:

stat /etc/passwd

用户的分类

Linux用户三种角色:

​ 超级用户:root 拥有对系统的最高的管理权限 ID=0

​ 普通用户:系统用户 UID:1-999(Centos7版本) 1-499(Centos6版本)

​ 本地用户 UID:1000+ 500+

​ UID:即每个用户的身份表示,类似于每个人的身份号码

​ 虚拟用户:伪用户,一般不会用来登记系统的,它主要是用于维护某个服务的正常运行,如:ftp,Apache

用户和组的关系:

一对一:一个用户可以存在一个组中; 一对多:一个用户可以存在多个组中

多对一:多个用户可以存在一个组中; 多对多:多个用户可以存在多个组中

配置文件

用户配置文件

/etc/passwd

说明:记录了每个用户的一些基本信息,并且对所有用户可读,每一行记录了对应的一个用户,每行记录通过冒号进行分隔

用户组文件

/etc/group

说明:用户组的所有信息存放地,并且组名不能重复

用户对应的密码信息

/etc/shadow

说明:因为passwd文件对所有用户是可读的,为了安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有可读的权限,从而保证密码安全性

用户管理

用户命令

命令:useradd

useradd -m -u "UID" -g '初始组' -G'附加组' -s'登录的shell'    用户

-m:创建用户主目录/home/[用户名];(注:在自己的主目录内,即使不是root用户也可以读写文件、安装程序等)

-g:设置用户初始组的名称或者数字ID;该组必须是存在的;如果没有设置该选项,useradd会根据/etc/lofin.defs文件中USERGROUPS_ENAB环境变量进行设置,默认USERGROUPS_ENAB yes会用和用户名相同的名字创建群组,GID等于UID

-G:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组,(一个用户只允许有一个主组,可以有很多个附属组)

-s:用户默认登录shell的路径;启动过程结束后,默认启动的登录shell在此处设定,请确保使用的shell已经安装,默认是Bash,有时候需要禁止某些用户执行登录操作,例如用来执行系统服务的用户,将shell设置成/sbin/nologin就可以禁止用户登录

添加用户登录

例:添加一个名为YQHP的用户,并使用bash作为登录的shell

useradd YQHP

则在/etc/passwd后面可以看到

YQHP:x:1000:1000::/home/YQHP:/bin/bash

也可以通过命令来查看

tail -1 /etc/passwd

YQHP:用户名

x:密码占位符

1000:用户的UID。它都是用数字来表示的

1000:用户所属的GID,它都是用数字来表示的

用户描述信息:对用户的功能或其它来进行一个简要的描述

/home/YQHP:用户主目录(shell提示符中"~"代表的那个)

/bin/bash:用户登录系统后使用的shell

通过这个命令可以才看到已经以此用户的UID创建了一个组:

tail -1 /etc/group
YQHP:x:1000:

查看系统中,支持哪些shell

cat /etc/shells

指定用户的UID: -u 用户ID

例如:

useradd -u 1100 YQHP1

可以使用

tail -1 /etc/passwd

或者

id YQHP1

查看到

uid=1100(YQHP1) gid=1100(YQHP1) groups=1100(YQHP1)

我们先前在这里面看到有/home/YQHP/这个目录

YQHP:x:1000:1000::/home/YQHP:/bin/bash

我们进行查看,表面上是没有

ls /home/YQHP/

但加上-a属性,则显示其中有隐藏文件

[root@master ~]# ls /home/YQHP/ -a
.  ..  .bash_logout  .bash_profile  .bashrc

指定用户家目录

通过-d属性,可以指定家目录,例子:在/opt/下面创建hello1

useradd -u /opt/hello1 hello1

然后tail一下passwd

hello:x:1102:1102::/opt/hello1:bin/bash

指定用户的主组

通过-g属性,可以自定义此用户的主组,例如:创建一个YQHP2.将YQHP2的主组设置为YQHP的主组

useradd -g YQHP YQHP2

通过id查询一下

id YQHP2

可以看到

uid=1003(YQHP2) gid=1000(YQHP) groups=1000(YQHP)

指定用户的附属组

通过-G属性,我们也可以把这个附属组称为补充组,用户可以有0个或多个附加组的成员

如果一个组有多个成员,我们是可以在/etc/group文件中找到的

useradd -G YQHP,YQHP2 YQHP3

然后通过命令即可查看到

id YQHP3

创建用户的另一个命令:adduser

可以通过命令查看adduser,蓝色的adduser代表他是绿色的useradd的软链接

adduserノ.assets/adduser.png)

删除用户

usage:userdel [options] LOGIN

选项:-r 删除的时候,会同时删除用户的家目录和/var/mail下的目录,例如:

userdel YQHP
ls /home/

会发现下面还存在YQHP,加上-r参数则会一并删除

userdel -r YQHP
shadow文件-用户修改密码

密码文件

例如:通过命令查看shadow

head -3 /etc/shadow

可以查看到

[root@master ~]# head -3 /etc/shadow
root:$6$lNTx4FAPYWmzzvmv$Qdzb46lF92ezjAIlmx4odyRfPvOsydfc2n0kGraknZl1Vnbed2HCYrhRvpJ0TOzmnmDaVzuQ6q8aWoU0.4C/g1::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::

/etc/shadow文件每一行的格式如下:用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域

内容格式如下,用冒号隔开,可以用man 5 shadow查看帮助:

name登录名称,必须是有效用户名
password已加密密码,分为三个部分用$分隔,第一部分表示用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希哈希算法:1表示MD5;6表示SHA-512;5表示SHA-256注意:在密码前一个感叹号(!)代表该用户被锁定,可以在机器上转到改用户,但无法远程注意:密码是两个感叹号(!),表示没有设置密码
lastchanage最近一次更改密码的日期,以距离1970/1/1的天数表示
min-age密码更改后多少天内不能再次更改。0表示可以随时更改
max-age密码过期时间,必须在期限内修改密码
warning警告期,警告用户再过多少天密码将过期。0表示不提供警告
inactive宽限期,密码过期多少天仍然可以使用
expire帐号过期时间,以距离1970/1/1的天数表示。0或空字符表示永不过期
blank预留字段

给用户添加密码

例如:给oracle添加密码,有交互行为

passwd oracle

无交互行为

echo 123456 | passwd --stdin oracle

注:两个用户的密码一样,但shadow中加密的hash值不一样,那是因为两个用户的salt不一样,salt是passwd命令自动生成的

修改密码信息(扩展,了解)

通过文件信息过滤,可以查看到/etc/login.defs下有这些信息,过滤掉了空行与#开头的

egrep是grep的高级用法等同于grep -e,-v选项表示取反值,"^$|^#"中^表示以什么开头,$表示空行,完整意思表示以空行或#开头。

egrep -v "^$|^#" /etc/login.defs

查看到

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
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME     yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

详细说明:

CREATE_HOME(boolean) 指示是否应该为新用户默认创建主目录。此设置并不应用到系统用户,并且可以使用命令行覆盖。

GID_MAX(number),GID_MIN(number) useradd,groupadd或newusers创建的常规组的组ID范围。GID_MIN默认值1000(CentOS6为500),GID_MAX默认值60000。

MAIL_DIR(string)邮箱目录。修改或删除用户账户时需要处理邮箱,如果没有指定,将使用编译时指定的默认值。

MAIL_FILE(string) 定义用户邮箱文件的位置(相对于主目录)。

注意:MAIL_DIR和MAIL_FILE变量由useradd,usermod和userdel用于创建、移动或删除用户邮箱。如果MAIL_CHECK_ENAB设置为yes,它们也被用于定义MAIL环境变量。

MAX_MEMBERS_PER_GROUP(number) 每个组条目的最大成员数。达到最大值时,在/etc/group开始一个新条目(行)(使用同样的名称,同样的密码,同样的GID)。默认值是0,意味着组中的成员数没有限制。此功能(分割组)允许限制组文件中的行长度。这对于确保NIS组的行比长于1024字符。如果要强制这个限制,可以使用25。

注意:分割组可能不受所有工具的支持(甚至在Shadow工具集中)。如果没有必要你不应该使用这个变量。

PASS_MAX_DAYS(number) 一个密码可以使用的最大天数。如果密码比这个旧,将会强迫更改密码。如果不指定,就假定为-1,这会禁用此限制。

PASS_MIN_DAYS(number) 两次更改密码时间最小间隔。将会拒绝任何早于此的更改密码的尝试。如果不指定就假定为-1,将会禁用此限制。

PASS_WARN_AGE(number) 密码过期之前鬼畜警告的天数。0表示在过期当天警告,负值表示不警告。如果没有指定,不会给出警告。

SYS_GID_MAX(number),SYS_GID_MIN(number) useradd、groupadd或newusers创建的系统组的组ID范围。SYS_GID_MIN默认101(CentOS6为201),SYS_GID_MAX默认GID_MIN-1。

SYS_UID_MAX(number),SYS_UID_MIN(number) useradd或newusers创建的系统用户的用户ID的范围。SYS_UID_MIN默认101(CentOS6为201),SYS_UID_MAX默认UID_MIN-1。

UID_MAX(number),UID_MIN(number) useradd或newusers创建的普通用户的用户ID的范围。UID_MIN默认1000(CentOS6为500),UID_MAX默认60000。

UMASK(number) 文件模式创建掩码初始化为此值。如果没有指定,掩码初始化为022。Useradd和newusers使用此掩码设置它们创建的用户主目录的模式。也被login用于指定用户的初始umask。注意,此掩码可以被用户的GECOS行覆盖(当设置了QUOTAS_ENAB时),也可以被带K指示符的limits(5)定义的限制值覆盖。

USERGROUPS_ENAB(boolean) 如果uid和gid相同,用户名和主用户名也相同,使非root组的组掩码位和属主位相同(如:022->002,077->007)。如果设置为yes,组中也没有成员了,userdel将移除此用户组,useradd创建用户时,也会创建一个同名的默认组。

也可以查看添加用户信息

[root@master ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

扩展命令chage

chage [选项] 登录名

选项:

-m 密码更改后多少天内不能再次更改。0表示可以随时更改

-M 密码过期时间,必须在期限内修改密码

-W 警告期,警告用户再过多少天密码将过期。0表示不提供警告

-E 帐号过期时间,以距离1970/1/1的天数表示。0或空字符表示永不过期

-d最近一次更改密码的日期,以距离1970/1/1的天数表示。为0表示强制在下次登录时更新密码

-I宽限期,密码过期多少天仍然可以使用

-l 显示用户当前设置信息

例:修改用户YQHP密码信息:让这个用户YQHP首次登陆系统时必须更改其密码

chage -d 0 YQHP
ssh YQHP@192.168.153.50

注:两个用户的UID可以一样的,我甚至可以把root的UID改了,使其成为普通用户,让YQHP成为root用户

修改用户信息

语法:usermod [参数] 用户名

常用参数:

-uUID
-d宿主目录
-g起始组只能有一个
-G附加组可以有多个
-s登录shell
-L锁定

例如:修改UID

usermod -u 1111 oracle

例子:更改主目录

usermod -m -d /mnt/YQHP YQHP

例子:添加说明信息

usermod -c "hello" YQHP

然后在passwd里面就可以找到YQHP用户有说明信息了

解决模板文件被删除之后显示不正常的问题

例子:将/home/YQHP的bash不小心给删了,导致登录异常

rm -rf /home/YQHP/.bash*

然后切换用户导致异常

su - YQHP

解决:复制bash到/home/YQHP/目录下

cp /etc/skel/.bash* /home/YQHP/

然后赋予YQHP用户对这个文件的权限

chown YQHP:YQHP /home/YQHP/.bash*

进入Centos7的紧急模式恢复root密码

第一步:重启系统,在出现内核选择时,按 ↑ ↓ 键,选择第一项,按下 e 键进行编辑,如下图 所示:

按eノ.assets/按e.png)

第二步:进入emergency模式按e键后,会进入如下图所示界面,在此界面找到 ro 这一项,改为 rw init=/sysroot/bin/sh,如图所示:

rw init=/sysroot/bin/sh

进入紧急模式ノ.assets/进入紧急模式.png)

当同时按下ctrl + x两个键时,就正式进入emergency模式,如下图所示:

已进入ノ.assets/已进入.png)

原理:启动一个Shell环境,系统并没有真正启动

第三步:换根,修改密码

换根命令:

chroot /sysroot

chroot,即change root directory(更改root目录),在Linux系统中,系统默认的目录结构都是以/.即是以根(root)开始的,而在chroot之后,系统的目录结构将以指定的位置作为/位置

在经过chroot命令之后,系统读取到目录和文件将不再是在旧系统根下而是新根下(即被指定的新的位置)的目录结构和文件

修改密码命令:

passwd

更新系统信息

touch /.autorelabel

退出当前系统并且重启

exit
reboot

修改密码ノ.assets/修改密码.png)

Centos7-文件权限管理

权限的作用

通过对文件设定权限可以达到以下三种访问权限限制:

只允许用户自己访问;

允许一个预先指定的用户组中的用户访问;

允许系统中的任何用户访问;

查看权限

ll /root/anaconda-ks.cfg

文件权限基本解释:

-rwxr-xr-xuser1user1timeFILENAME
文件类型拥有者的权限所属组的权限其他人的权限拥有者属组最后修改的时间对象

其中:文件类型,可以为p d l s c b 和 -

​ p表示命名管道文件

​ l表示符号连接文件

​ -表示普通文件

​ s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

​ c表示字符设备文件 例:虚拟控制台或tty0

​ b表示块设备文件 例:sda cdrom

例:

ll /dev/sda /dev/cdrom /etc/passwd /dev/tty0

文件类型ノ.assets/文件类型.png)

权限说明

对于文件来说:

r:读

w:写

x:执行

对于目录来说:

r:读(看到目录里面有什么) ls

w:在目录里面创建文件,删除,移动 touch mkdir rm mv cp

x:进入 cd

文件拥有者

UGO:所有者---用户组---其它用户

所有者:就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其所在的用户组可以访问所有者的文件

用户组:用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法是不太合理的,另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限,这就是用户组

其它用户:系统内的其它所有者用户就是other用户类

举例说明

常见几种文件权限组成

-rwx --- ---:文件所有者对文件具有读取、写入和执行的权限

-rwx r-- r--:文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限

-rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅仅具有读取和执行的权限

drwx--x---x:目录所有者具有读写与进入目录的权限,其他用户仅能进入该目录,却无法读取任何数据

drwx-------:除了目录所有者所具有完整的权限之外,其他用户对该目录完全没有任何权限

举例如下:

每个用户都拥有自己的专属目录,通常放置/home下

ll /home/

注:[rwx------]表示目录所有者本身拥有的权限,其他用户是无法进入的,root除外,你以什么用户身份登录,那么你创建的文件或目录,自动成为该文件的所属主和组

更改文件的属主和属组

改变文件的所属关系用到的命令:

chown :可以用来改变文件(或目录)的属主

chgrp :可以用来改变文件(或目录)的默认属组

如果你要对目录进行操作,加参数 -R

语法:

chown user:group filename

比如:chown hr:san a.txt 把a.txt文件的属主和属组改为hr,san

chown user filename 

比如:chown san a.txt 把a.txt文件的属主改为san用户

chown :group filename

比如有:chown :miao a.txt 把a.txt文件的属组改为miao这个组

chgrp hr filename

比如:chgrp hr f.txt

-R :递归(目录下的所有内容都更改,否则只修改目录)

注:一个文件只有读的权限,但文件所有者一定可以写文件,就像root可以对shadow强制写一样,因为shadow的拥有者是root

修改权限

使用字符设定

修改权限用的命令:chmod

作用:修改文件,目录的权限

语法:chmod [对谁操作] [操作符] [赋予什么权限] 文件名

对谁操作:

u----->用户user,表示文件或目录的所有者

g----->用户组group,表示文件或目录所属的用户组

o----->其他用户other

a----->所有用户all

操作符:

+添加权限 -减少权限 =直接给定一个权限

例如下面的组合:

u-wuser拥有者
g+xgroup
o=rother其他人
a+xall所有人

例:chmod修改权限

chmod u-w 1.txt
ll 1.txt

给shell脚本加一个可执行权限

chmod a+x 1.txt
chmod a=rwx 1.txt
ll 1.txt

使用八进制(0-7)数字表示权限法

权限二进制八进制描述
---0000没有任何权限
--x0011只有执行的权限
-w-0102只有写入的权限
-wx0113有写入和执行权限
r--1004只有读取权限
r-x1015有读取和执行权限
rw-1106有读取和写入权限
rwx1117有全部权限

例:

语法:chmod 755 文件夹或者文件名字

chmod a=rwx b.txt

等于

chmod 777 b.txt

权限对文件和目录的影响

有三种权限可以应用:读取,写入和执行,这些权限对访问文件和目录的影响如下:

权限对文件的影响对目录的影响
r(读取)可以读取文件的内容可以列出目录的内容(文件名)
w(写入)可以更改文件的内容可以创建或删除目录中的任意文件
x(执行)可以作为命令执行文件可以访问目录的内容(取决于目录中文件的权限)

补码

umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字

文件默认权限=666 目录默认权限=777

我们一般在/etc/profile、$[HOME]/.bash_profile或$[HOME]/.profile中设置umask值

例如就在第/etc/profile的第59行就能看见

vim /etc/profile

umaskノ.assets/umask.png)

注:UID大于199且用户的组名和用户名一样,那么umask值为002,否者为022

注:-gt在shell 中表示大于,id -g 显示用户组ID,id -gn 显示组名

修改umask值:

永久生效:编辑用户的配置文件vim .bash_profile

临时生效:umask权限补码,例如:

umask 044

权限的算法:一般情况是:目录默认权限-umask值

666-022=644

777-022=655 #这是一个好的记忆方法,但是不够严谨

因为:umask掩码为033 创建普通文件后,权限是什么?666-033=633 (rw- -wx -wx)?

然而实际测试结果是,你把umask值设置为033,去创建文件,发现是644

权威科学的计算方法步骤:

1.将默认权限(目录777,文件666)和umask值都转换为2进制

2.对umask取反

3.将默认权限和umask取反后的值做运算

4.将得到的二进制值再转换成为八进制,即为权限

例1:umask为022

6 6 60 2 2
110 110 110000 010 010
111 101 101#umask取反
110 110 110111 101 101#默认权限与umask取反后的值做与运算
110 100 100
6 4 4#再转为八进制

例2:umask为033

6 6 60 3 3
110 110 110000 011 011
111 100 100#umask取反
110 110 110111 100 100#默认权限与umask取反后的值做与运算
110 100 100
6 4 4#再转为八进制

文件的特殊权限:suid sgid sticky和文件扩展权限ACL

其实文件与目录设置不止这些,还有所谓的特殊权限,由于特殊权限会拥有一些"特权"

特殊权限:

文件的特殊权限:suid sgid sticky

1.SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面,对目录设置无效

功能:程序运行时的权限从执行者变更成程序所有者的权限

2.SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置

功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组

3.Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位,目录下创建的文件只有root、文件创建者、目录所有者才能删除,系统中的tmp目录就是这样

这3个特殊权限对应的数值为:

SUIDSGIDStickybit
u+s或u=4g+s或g=2o+t或o=1

SUID:

例:SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限

SUIDノ.assets/SUID.png)

注:一个普通用户是看不到且无法vim修改/etc/passwd文件的,但是为什么却可以修改自己的密码,这就是因为passwd是一个SUID文件,在他修改他密码时,那一瞬间是拥有文件所有者root的权限的

例二:

切换到普通用户,使用less查看shadow文件,是看不到的

less /etc/shadow

切换到root,给less命令一个SUID权限

su - root
chmod u+s /usr/bin/less

再切换到普通用户用less查看shadow就能看到了

可以仔细查看下less命令

ll /usr/bin/less

SGID:

例子:

创建一个test文件,ll查看权限

mkdir test
ll -d test

加上SGID权限,并再次查看权限

chmod g+s test
!ll

然后更改test文件的所属组,并在test目录下创建一个a.txt文件

chown :bin test
touch test/a.txt

查看,可以发现虽然所有者是root,但test下的文件所属组都为bin

ll test/

文件扩展权限ACL

扩展ACL :access control list

例:设置用户mk对文件a.txt拥有rwx权限,mk不属于a.txt的所属主和组,mk是other

创建一个/tmp/a.txt文件

touch /tmp/a.txt
ll /tmp/a.txt

给YQHP用户添加权限

setfacl -m u:YQHP:rwx /tmp/a.txt

删除单个权限

setfacl -x u:YQHP /tmp/a.txt

给目录添加扩展权限

setfacl -m d:u:YQHP:rwx /tmp/test

给目录下所有文件都加扩展权限 #-R 一定要在-m前面

setfacl -R -m u:YQHP:rw- /tmp/test

实战:创建一个让root都无法删除的文件

假如你想删除一个a.txt,但发现既无法删除也无法修改文件,通过ll查看发现文件权限也全部正常 ,这是因为有人对这文件使用了attr扩展属性

从REHL6开始,新增加文件系统扩展属性:

命令:chattr

参数:a 只能追加内容 i 不能被修改

+a:主机能追加内容 如:echo aaa >> hack.sh

+i:即Immutable,系统不允许对这个文件进行任何的修改,如果目录具有这个属性,那么任何的进程只能修改目录之下的文件, 不允许建立和删除文件

例子:

chattr +i a.txt

查看这个文件,可以发现多出了一个i属性

lsattr a.txt

删除i属性

chattr -i a.txt

参数a同理使用

最后修改:2023 年 05 月 10 日
如果觉得我的文章对你有用,请随意赞赏