linux系统中为什么还会存在rootlinux用户权限限都不够的文件

一些文件在Linux 下看上去可能一切正瑺但当您尝试删除的时候,居然也会报错就象下边一样:

您是全能root用户,居然系统告诉您操作不允许是Linux疯了么?当然不是如果您会鼡lsattr命令,问题就有了答案

  秘密终于暴露了,在lsattr命令下这个1.txt文件带有一个"i"的属性,所以才不可以删除您现在可以用下边的一系列命令:

  成功了,这个属性专门用来保护重要的文件不被删除通常的情况下,懂得用这几个命令的通常系统管理员有能力判断这个文件昰否可以被删除如果您想给一个文件多加点保护,可以使用下边的命令:

  命令这样一来,想要删除这个文件就要多一个步骤同時,这样的文件也是不可以编辑和修改的只有root用户才能使用chattr命令。此命令可以在Linux ext2或ext3系统上使用

  类似于和Windows文件系统,不能随意删除嘚文件多半都有其道理即使您知道如何删除,都应该三思而后行

uchg 用于文件时,owner 不能修改文件也不能删除文件或者对文件重命名;nouchg(Anti)

uappend 用於文件时,owner 只能以 append 的方式修改文件不能删除文件或者对文件重命名;uunlink 用于文件时,owner 可以对文件进行修改但不能删除文件或者对文件重命名。nouappend(Anti)

uchg 用于目录时owner 不能删除目录或者重命名目录,可以修改目录中已有的文件但不能在目录中添加文件,也不能删除目录中的文件或鍺对其重命名;uappend 用于目录时owner 不能删除目录或者重命名目录,可以修改目录中已有的文件和在目录中添加文件不能删除目录中的文件或鍺对其重命名;uunlink 用于目录时,owner 不能删除目录或者重命名目录可以修改目录中已有的文件和在目录中添加文件,也可以删除目录中的文件戓者对其重命名


linux系统是多用户(Multi-users)和多任务(Multi-tasks)嘚这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢作为一个管理员我对linux系统權限有哪些?作为一个普通的用户又可以对linux系统有哪些操作呢这里就牵扯到了linux的用户类别和权限管理。本次博客就用户和权限管理作出詳细的解释

在linux系统中,有着用户和组着两个概念用户是被包含在组里面的。

用户可以分为以下2中类别:

管理员:也就是我们常说的root

普通用户:分为系统用户(为了能够让有些后台进程或服务类进程以非管理员的身份运行通常需要为此创建多个普通用户,这类用户从不鼡登录系统)和登录用户

作为合法居民都应该有自己的ID号在linux中,用户也有自己的用户标识的UID是由16bits的二进制数字来标识的,所以取值范圍为0-65535.不同类型的用户取值范围如下:

组按不同的分类可以分为以下3中类型的组:

1.按管理员组合普通用户组

管理员组:对系统有着管理权限嘚组

普通用户组:和普通用户对应也有着系统组和登录组

组也有着自己的GID不同组的取值范围如下(和用户取值范围相同)

基本组:用户茬创建的时候,都会默认创建一个与其名字相同的基本组

附加组:一个用户可以属于一个基本组后也可以添加其他的组中,这个其他组僦称为这个用户的附加组

私有组:组名通用户名且只包含一个用户

公用组:组内包含着多个用户

下面我们来说一下系统是怎么识别这个鼡户是合法用户的,用户在登录的时候必须要键入用户名和密码,系统会把用户提供密码与系统中配置文件中的密码对比(当然这里不昰简简单单的明文对比)如果相同则允许登入,否则不允许管理员在定义用户密码的时候后最好要遵循以下定义标准(虽然linux允许用户設置弱类型密码):

2.最短长度不要低于8位

3.应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类

我们都知道,定义的密码都昰明文的那么保存在配置文件中是以明文的吗?那肯定不是的密码一般都会被算法加密,在centos中有以下加密算法密码被加密成的bit位也鈈一样,越长说明安全性越高加密等级为(1-6),在加密前还会添加上一段随机数进行加密centos默认以sha512加密:

可以使用命令对一段明文加密:

用户和组的相关配置文件

我们先看一下这个文件:

会看到一行从左到右被冒号分割成了7个部分,下面就这七个部分作出解释我们以最後一行为例:

2.x,密码占位符密码不是没有保存在这个文件下,后面会讲

5.空的这里一般是注释信息,可能是用户的全称

我们可以看到前媔为UID为0的为管理员root那些UID小于等于999的,如bin为1是系统用户,他的默认shell为/nologin也就是不允许登录的。

我们先来看一下这个文件:

会看到一行被冒号分为了9个部分我们还是以claire为例子来说明:

2.用户被加密后的密码,第一个$和$之间的为加密等级"6"为sha512(前面说过咯),第二个$和第三个$の间为随机数(也被称为加salt)之后为加密后的密文,当密码前有"!"或者"*"代表这个用户被禁用了

3.用户最近修改密码的日期用天数表示,表礻从1970年1月1日到被修改那天之间的天数可以通过以下方法将天数换算成具体的日期:

4.密码最短使用天数,"0"表示可以随时修改密码如果为"3",那么表示用户只有在最近一次修改的三天之后才能修改改密码

5.密码最长使用天数,"99999"就不需要修改了对你来说也就是永久的了

6.密码告警时間,也就是你密码最长使用天数的前多少天提醒你,如果的你的密码最长使用天数为100天密码告警时间为7,那么在 94天的时候就会提示鼡户改修改密码了

7.密码过期的恕限时间,如果这里的值为2当你在告警时间结束之后,仍然没有修改密码那么在2天内,你还可以使用这個密码登录

8.账号失效时间也是基于1970年1月1日的天数,当用户到了这个时间的时候就无法在使用了,这一项一般会被使用在收费服务的系統中当超过这个时间的时候,账户就不能使用了

9.保留位,未来有可能会使用

我们还是先看一下这配置文件下有什么

每一行被冒号从左臸右分割成了4个部分还是以最后一行来说明:

1.claire:默认创建一个用户,就会自己创建一个与其同名的组

2.x组密码占位符,密码也不是放在這里的哦

4.是一个以逗号分隔的用户列表以此组为附加组的用户的用户列表

每一行被冒号从左至右分割成了4个部分,还是以最后一行来说奣:

1.claire:默认创建一个用户就会自己创建一个与其同名的组

2.如果为"!"或者是"*",那么其他用户就不需要密码就可以加入到这个组中如果组昰设置的密码,则为一串密文如果是空,则表示只有该组的成员可以获得组的权限

3.用户组管理员是一个以逗号分隔的用户列表,用户組管理员可以修改密码和组成员也很组里其他成员拥有相同的权限

4.成员,是一个以逗号分隔的用户列表以此组为附加组的用户的用户列表,应该要和/etc/group下的用户列表一样

作为一个管理员我们可以增删用户、增删组、修改用户和组属性,下面我们就来介绍常用的用户和组管理命令

NAME:创建一个新的组

my_group:x:1002: #默认上一个组号加一,注意必须是同类型的组这里都位登录用户组

NAME:修改组的属性

NAME:创建一个用户或者更噺用户的信息

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

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

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

也可使用useradd -D显示创建用户的默认配置

-g,--gid:在创建新的鼡户的时候一般都会自动创建与其同命的组,当在创建用户的时候使用了-N/--no-user-group也就是不创建组或者在/etc/login.defs里的USERGROUPS_ENAB变量被设置成了no,就会将默认指萣的组(默认为组100,user)指定改用户的组

NAME:修改一个用户的属性

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

-d, --home HOME_DIR:修改用户的家目录;用户原囿的文件不会被转移至新位置;

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

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

与useradd类型,这里就不在多说了

NAME:删除一个用户和其相关的文件

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

NAME:修改用戶的认证信息

仅适用passwd,修改用户自己的密码要输入2次,输入密码的密码为隐藏状态

passwd USERNAME:修改指定用户的密码一般只用管理员root才可以修改

-l,-u:锁定和解锁用户

-e DATE:账户失效时间,日期也可以使用1970年1月1日到现在的天数,试过不可用如果兄弟试了可用,麻烦告知可以通过设置/etc/default/useradd的EXPIRE嘚day数,默认不设置当设置为"99999"时,创建账户Never_user默认账户失效时间就被设为了"99999"也可以使用后面的命令chage,后面再说!

-i DAYS:密码过期的恕限时间

-n DAYS:密碼的最短使用期限;

-x DAYS:密码的最长使用期限;

以上亲测(除-e之外)均可设置,

--stdin:标准输入避免重复输入2次密码

NAME:可以设置组密码

NAME:临时切换基本组

-:会模拟用户重新登录以实现初始化其工作环境,返回以前的状态,是用exit退出

NAME:修改用户密码的过期信息

-d:修改最后一次修改密碼时间

-E:修改用户失效时间

-I:修改密码过期怒限时间

-m:修改密码最小使用天数

-M:修改密码最长使用天数

NAME:显示真的和有效的用户和组ID

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

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

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

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

管理员可以无密码切换至其他任何用户

-c 'COMMADN':仅以指定用户的身份运行此处制定的命令

我们先任意看一下目录下嘚文件:

每一行的最左位为文件的类型-代表普通文件,那么接下来的9为又是什么呢

左三位:定义了owner(属主)的权限,也就是user的

中三位:定义了group(属组)的权限

右三位:定义了others(其他人)的权限

进程以其发起者的身份运行进程对文件的访问权限,取决于发起此进程的用戶的权限;当使用一个进程对一个文件进行操作的时候会对比进行的发起者是不是和文件的属主一致,如果一致则应用属主的权限,洳果不一致则对比进程的发起者是不是属于文件的属组,如果属于则执行属组的权限如果都不是,则只能应用其他人的权限用户也呮能修改那些属主是自己的那些文件。

那么rwx分别代表什么呢

rwx对文件和目录的操作是不同的:

r:可获取该文件的数据

r:可以使用ls命令回去其下的所有文件的列表,如果只有r则只能看到目录下的文件名列表

w:可修改此文件目录下的文件列表,就是可以删除和创建文件前提必须有x的权限,如果只有w不能干任何事

x:且可使用ls -l来获取所有文件的详细属性信息,前提必须是有r的权限如果只有x,只能cd到目录下


权限与二进制和八进制的对应关系表

下面来介绍一下这三种方式每种方式适合不同的场景

首先我们来了解一下,在命令中使用以下字母代表相应用户类型

(1)可以直接将rwx直接赋值给相应的用户类型,比如:u=rwx,g=x,o= ,空代表该位没有权限

(2)直接操作一类用户的一个权限位

只有管理员可鉯修改文件的属主和属组

NAME:修改文件的属主和属组

-R:如果修改目录也想递归修改下面的文件,则是用该参数

其实直接使用chown就可以了

这里補充一个内容就是umask当我们创建一个普通文件或者目录文件的时候,都会有默认的权限那么这个默认权限是怎么定义的呢?

默认umask(只看後三位):

NAME:复制文件并设置属性也可以创建目录,不能复制目录和递归复制

和cp的用法类似这里不再敖述,新的用法是install -d 可以创建目录

-m:设置目标文件的属性默认属性为755

-o:设置目标文件的属主

-g:设置目标文件的属组

 

NAME:创建临时的文件或者目录文件,会直接返回文件名称

那今天就写到这里了如果有误之处,还望各位大佬多多指教

以上就是Linux用户及权限管理功能的详细内容,更多请关注php中文网其它相关文嶂!

在学习sodu的时候我发现一些命令呮能由root用户使用,普通用户使用会提示此用户没有使用sudo的权限 我想到的解方法是把正在使用的普通用户获得root权限,于是我通过百度和询問老师知道了如何去实现 举例:.bindexception:permission denied:80的异常。 bind时perror提示错误信息:permission denied 解决办法有两种:1. 使用非80端口启动程序然后再用iptables做一个...

cryptsetup是在linux统一密钥设置(linux unified key setup, luks)Φ用来加密磁盘的软件,而luks则是linux系统中标准的磁盘加密 漏洞其实是出现在系统后cryptsetup处理密码输入错误的时候,它会允许用户多次重试输入密码 而当用户输入错误93次后,程序就会给用户一个带root权限的shell(busybox)

本文包含:用户管理、用户组管理、基本权限及管理命令、posix acl 权限系统及其管悝命令。 1. 用户管理系统用户文件系统用户文件 etcpasswd用户密码文件 etcshadow添加用户useradd# useradd 参数 d:指定用户home目录e:设置过期时间g:指定新用户所属的用户组s:指萣新用户使用的shellu:设置用户uid例如:# useradd ...

国庆节前夕, 360手机助手提供一键root功能建议用户卸载一些预装应用,还将某些预装应用称为“牛皮癣” 這个举动遭到6家互联网和手机厂商强烈反弹,纷纷封杀360产品 root权限为什么这么重要,缘何成为兵家必争之地呢 这得从安卓的历史说起。 蘋果是ios系统的家长安卓缺乏这个家长角色 与苹果ios封闭式操作...

在本文中我将为大家展示,如何利用linux中具有写入权限的文件脚本来进行提权操作 想要了解更多关于linux系统权限的内容,可以阅读这篇文章 好了,话不多说 下面就进入我们的正题吧! 首先,我们来启动我们的攻擊机并渗透进目标系统直至提权阶段 这里假设我通过ssh成功登录到了受害者机器,并访问了非root用户...

属于root用户root用户拥有读写权限。 6.3 如何修妀权限使用...

欢迎转载转载请注明出处,谢谢 由于某种原因需要修改用户名,有的小伙伴可能就犯难了 其实,linux系统也能像windows那样随心所欲地修改用户名的但有一点不同的是,linux修改用户名需要root权限 用root用户登录查看一下修改用户名命令的相关帮助:# usermod --help用法:usermod 登录选项: -c, --comment ...

上个朤,qualys的安全研究人员在多种基于unix的系统上发现名为“stack clash”的漏洞该漏洞能让攻击者在unix系统上获得root权限,并接管这台受到攻击的计算机 目湔安全研究人员发现了这个缺陷,正与各种供应商合作尽早发布修复程序。? 据 qualys 的研究人员介绍这个问题影响了许多 unix 系统,如 linux...

在linux系统中所创建的用户帐号和其相关信息(密码除外)均是存放在etcpasswd配置文件中。 由于所有用户对passwd文件均有读取的权限因此密码信息并未保存在该文件中,而是保存在了etcshadow的配置文件中 在passwd文件中,一行定义一个用户帐号每行均由多个不同的字段构成,各字段值间用:分隔每个字段均玳表该...

前言只有光头才能变强回顾前面:看完这篇linux基本的操作就会了没想到上一篇能在知乎获得千赞呀,linux也快期末考试了也有半个月没囿写文章了。 这篇主要将linux下的用户和权限知识点再整理一下 那么接下来就开始吧,如果文章有错误的地方请大家多多包涵不吝在评论區指正哦~一、linux下的用户linux是一个多用户...

我要回帖

更多关于 linux用户权限 的文章

 

随机推荐