linux权限999 777,Linux用户及权限管理

用户和组管理 :

注 : 实现资源分配的机制

Authentication : 认证,验证用户身份是否合法或者验证用户是否有权使用资源,但并不能具体确定用户可以使用那些资源以及可以使用多少资源

Authorization : 授权,Linux中一切皆文件,而正是通过文件上某些元数据的修改,以实现对用户的授权

Audition/Accounting : 审计,审核用户权利的使用是否合理

属主(owner) : 即文件归谁所有

属组(group) : 为linux上一组相似用户建组,并以组为单位进行授权

1,将属组所拥有的权限与属组内的用户建立关联

2,为数组添加新的用户

Linux用户(Username)

UID : linux以数字标识和追踪用户身份

管理员用户 : root,0

普通用户 : 1-65535

系统用户 : CentOS 6 : 1-499;CentOS 7 : 1-999,对守护进程获取资源进行的权限分配

普通用户 : CentOS 6 : 500+;CentOS 7 : 1000+,交互式登陆

linux的安全上下文 :

进程 : process,运行中的程序

注 : 某个进程是在以发起者的身份在运行,因此发起者的身份决定了进程所能够访问的资源的权限,进程作为发起者的动作,其本身并没有任何区别,区别在于发起者的身份

决定了动作能否执行以及执行的程度

linux组的类别 :

用户的基本组(主组) : 即用户的基本或主要身份,用户拥有的大部分或主要权限都集中在在这个组中

用户的额外组(附加组) : 用户的额外身份,主要集中了用户的少有的特殊权限

私有组 : 组名同用户名,且组中只有一个用户,创建新用户时,未指定用户的基本组,均默认为用户创建私有组

linux用户和组的相关配置文件 :

/etc/passwd : 用户及其属性信息

文件组织格式 :

name : password : UID : GID : GECOS : directory : shell

用户名 : 密码 : UID : GID : 用户的完整信息(如家庭住址,电话号码等,信息多元时,以","分隔) : 用户的家目录 : 为用户指定的默认shell

注: 密码字段中,并未真正存储用户密码,而仅仅只是以一个占位符占位而已

/etc/group : 组及组属性信息

文件组织格式 :

group_name : password : GID : user_list

组名 : 组密码 : GID : 以该组为附加组的用户列表(用户多元时,以","分隔)

注 : 组密码字段中,并未真正存储密码,仅仅只是以一个占位符占位而已

/etc/shadow : 用户密码及其相关属性信息

文件组织格式 :

用户名 : 加密后的密码 : 最近一次更改密码的时间 : 密码的最小使用期限 : 密码的最大使用期限 : 密码的警告时间段 : 密码的禁用期 : 账号的过期日期 : 保留字段

加密机制 :

加密 : 明文 -> 密文

解密 : 密文 -> 明文

单向加密 : 提取数据指纹,数据与数据指纹之间一一对应,数据不变,数据指纹就不会变,但无法根据数据指纹还原数据

加密算法 :

md5 : message digest(摘要),128bits

sha1 : secure hash algorithm,160bits

sha224 : 224bits

sha384 : 384bits

sha256 : 256bits

sha512 : 512bits

雪崩效应: 明文的微小改变,就会导致密文的巨幅改变,目的在于防止根据密文的相似度逆推明文的相似度

定长输出 : 只要加密算法一样,最终输出的密文长度就不会改变

注 : 为避免多个用户输入的密码相同,导致一个用户可以根据自己的密文推出其他用户的密码,因此系统会自动在用户密码的后面加入一串随机数,联合用户密码生成密文

每次在用户登陆时,都会在用户密码后,加入该随机数,完成用户的认证

密码结构 : $加密方法及版本$杂质$密码密文

密码的复杂性原则 :

1,至少要使用数字,小写字母,大写字母,特殊字符中的三种

2,要足够长

3,使用随机密码

4,定期更换,不要使用最近使用过的密码

=======================================================================================================================================================================

用户和组相关的管理命令 :

用户创建 : useradd

useradd login_name

-u UID : 指定用户UID,[UID_MIN,UID_MAX],定义在/etc/login.defs文件中,默认创建的用户UID为最近一次创建的用户UID加一

-g GID/group_name : 指定用户所属的基本组,可为基本组的组名,也可为基本组的GID,但组必须事先存在

-G GID : 为用户指定附加组,组多元时,以都“,”隔开

-c,--comment “COMMENT” : 为用户指定详细信息,信息多元时,以“,”,分隔

-d /path/to/home_dir : 指定用户家目录

-s SHELL : 为用户指定默认shell,/etc/shells:保存有可用shell列表

-r : 创建系统用户,CentOS 6 : 1-499,CentOS 7 : 1-999

useradd -D : 配合上述选项使用,修改不给任何选项,创建用户时的默认设置,仅对当前shell进程,当前会话有效

组创建 :groupadd

groupadd group_name

-g GID : 指定组ID,[GID_MIN,GID_MAX],定义在/etc/login/defs文件中

-r : 创建系统组,CentOS 6:1-499;CentOS : 1-999

=====================================================================================================================================

id : 显示用户的id信息

-u : 仅显示用户UID

-g : 仅显示基本组GID

-G : 显示用户基本组和附加组信息

-n : name,显示用户及组名,而非组或用户id

=========================================================================================================================================

su : 以另一个用户身份执行命令或实现用户之间切换

切换用户的方式 :

不完全切换 : 即暂时获得其他用户权限,但同时用户当前用户的权限,并不会读取目标用户的配置文件

su user_name

完全切换 :即彻底变成另外一个用户,取得另外一个用户的权限,但仅拥有另一个用户的权限,不再拥有当前用户的权限,会读取目标用户的权限

su - user_name

注 : root用户切换到其他用户不需要密码,但普通用户切换到其他用户需要密码

以其他用户身份执行命令 :

su [-] -c 'COMMAND'

选项:

-l : 登录式切换,即完全切换

============================================================================================================================================

usermod : 修改用户属性

usermod [option]... user_name

-u UID : 新的UID

-g GID : 新的基本组

-G GROUP,... : 新的附加组,用户原有的附加组将会覆盖,如果要保留原有附加组,可符合选项-a一起使用

-s SHELL : 新的默认shell

-c 'COMMENT' : 新的用户基本信息

-d DIRECTORY : 新的用户家目录,但仅使用该选项,系统并不会将用户原目录下的文件移至新的家目录下,也不会为用户创建新的家目录,但若要将用户原本家目录下的

文件移至新的家目录下,需配合-m选项一起使用

-e : 指定用户账户的过期日期

-f : 指定用户密码的非活动期限

-l : 修改用户登录名

-L : 锁定指定用户

-U : 解锁指定用户

===================================================================================================================================================

为指定用户添加或修改密码 : passwd

passwd user_name : 修改指定用户的密码,仅root权限

passwd : 修改用户自己的密码,不允许前提是用户有密码,否则用户添加密码或修改密码

-l : 锁定指定用户

-u : 解锁指定用户

-n MIN_DAYS : 指定密码的最小使用期限

-x MAX_DAYS ; 指定密码的最大使用期限

-w WARN_DAYS : 指定密码的警告期限

-i INACTIVE_DAYS : 指定密码的非活动期限

--stdin : 从标准输入接受用户密码,如echo 'passwd' | passwd --stdin user_name

======================================================================================================================================================

删除用户 : userdel

userdel [option]... user_name

-r : 删除用户家目录

===========================================================================================================================================================

组属性修改 : groupmod

groupmod [option]... group_name

-n : 指定新组名

-g GID : 执行新的组ID

======================================================================================================================================================

组删除 : groupdel

groupdel GROUP

===========================================================================================================================================================

组密码添加 :gpasswd

组密码作用 : 当本用户既非某组的基本组用户,又非某组的附加组用户,但有需要取得该组的权限时,此时需要组密码,临时成为该组用户

gpasswd GROUP : 添加或修改组密码

-a USER : 将user添加至指定组

-d user : 从该组中删除指定用户

-A user1,user2,.... : 添加具有管理权限的用户列表

============================================================================================================================================

newgrp : 为用户临时切换基本组

注 : 如果但前用户不属于该组,则需要组密码

=============================================================================================================================================

pwck : 检查密码文件的完整性,即检查用户及其认证信息的完整性,检查/etc/passwd,/etc/shadow格式是否正确,数据是否有效

==========================================================================================================================================

修改用户属性 : chage

chage [option]... login_name

-d last_day : 修改用户最近一次修改密码的时间

-E expire_date : 修改用户账户过期日期

-I inactive : 修改用户密码禁用期

-m min_days : 修改用户密码的最小使用期限

-M max_days : 修改用户密码的最大使用期限

-W warn_days : 修改用户密码的提醒警告期

=================================================================================================================================================

其他命令 :

chfn ; 修改用户的详细信息(即家庭住址,电话号码等信息)

finger : 查看用户的详细信息

chsh ; 修改用户的默认shell

=================================================================================================================================================

权限管理:

文件的权限主要针对三类用户:

属主 : owner,u

属组 : group,g

其他 : others,o

每个文件对每个用户都定义了三种权限 :

r : readable

w : writable

x : excutable

文件 :

r : 可使用文件查看类工具查看文件内容

w ; 可修改文件内容

x : 可将文件提交内核启动为一个进程,但为避免文件被恶意利用,任何文件在创建时,都默认没有执行权限

文件夹 :

r : 可使用ls命令查看此目录中的文件列表

w : 可在此目录中创建文件,也可在此目录中删除文件

x : 可使用ls -l查看此目录中的文件列表,也可使用cd命令进入此目录,默认创建目录时,均有此权限

权限的另外表示方法 : r---w---x -> 100010001 -> 421

修改文件权限 : chmod

chmod [option]... OCTAL_MODE(八进制) FILE...

-R : 递归修改权限,当修改目录权限时,目录中文件的权限也会跟着一起改变

chmod [option]... mode,... FILE...

mode :

修改某一类用户的权限 :

u=r

ug=rw

u=r,g=w

注:没有写出的权限,均默认没有该权限

修改某一类用户的某一位权限 :

u+r

ug+r

u+r,g+r

增加某用户在某一位的权限

u-r

ug-w

u-x,g-x

去除某类用户在某一位的权限

chmod [option]... --reference=RFILE FILE...

参考RFILE文件的权限,将FILE文件的权限修改的和RFILE文件的权限一模一样

=================================================================================================================================================

修改文件的属主和属组,仅root用户权限

chown [option][:[GROUP]] FILE...

注: 命令中的“:”可用“.”替代

-R :递归修改文件的属主

chown [option]... --reference=RFILE FILE,.....

参看RFILE修改FILE的属主

===========================================================================================================================================

修改文件的属组 :chgrp

chgrp [option]... GROUP FILE...

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

-R : 递归修改文件的属组

=======================================================================================================================================

文件或目录创建时的遮罩码 : umask

注 : 遮罩码用户创建文件或文件夹时,为文件或文件夹指定默认权限

FILE : 666 - umask

注 : 当某类用户创建文件时,权限减得的结果中包含x权限,则结果加一,直至无x权限

DIR : 777 - umask

umask : 查看umask的值

umask # : 修改umask的值,仅对当前用户有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值