| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> linux账号和权限管理 -> 正文阅读 |
|
[系统运维]linux账号和权限管理 |
目录 一、linux账号的分类用户账号 超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统 管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普 通用户账号。root 拥有对系统的最高的管理权限 ID=0 普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限 系统用户 UID∶1-999(centos7 版本)1-499(centos6 版本) UID∶即每个用户的身份标示,类似于每个人的身份证号码. 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如∶ ftp,apache ?保存用户账号的文件/etc/passwd保存用户名称、宿主目录、登录Shell等基本信息 文件位置∶/etc/passwd 每一行对应一个用户的帐号记录 [root@localhost~]# head-2 /etc/passwd? (查看前两行用户文件的信息) bin:x:1:1:bin:/bin:/sbin/nologin root:x:0:0:root:/root:/bin/bash passwd文件账号记录详细说明 root:x:0:0:root:/root:/bin/bash 详解如下∶ root∶用户名,用户名仅是为了方便用户记忆。Linux系统是通过UID来识别用户身份,分配用户权限。 x∶表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件 Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。 补充∶ 注意!!!,虽然"x"并不表示真正的密码,但也不能册除,如果删除了 "x",那么系统会认为这个用户没有密码, 从而导致只输入用户名而不用输入密码就可以登陆 (只能在使用无密码登录,远程是不可以)。 0∶用户账号的 UID号。 0∶所属基本组账号的 GID 号 root∶描述性信息,此字段只是用来解释这个用户的意义而已 /root∶宿主目录,即该用户登录后所在的默认工作目录 注;通常称为用户的主(家)目录。例如;root主目录为/root,普通用户odysee的主目录为/home/odysee /bin/bash录 Shell 等信息,用户完成登录后使用的 用户账号密码保存文件/etc/shadow(影子文件)保存用户的密码、账号有效期等信息 文件位置∶/etc/shadow(只能在root模式下查看,切不能编辑更改) 每一行对应一个用户的密码记录 [root@localhost ~]# head -2 /etc/shadow root:$1$55HB4pbx$acHqk4ZiHTZ9cw0ZJe8f0:14374:0:99999:7::: bin:*:14374:0:99999:7::: [root@localhost ~]# tail-1 /etc/shadow (查看最后一行用户密码的信息) teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:9999:7::: /etc/shadow和 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用"∶"作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段 第一列:账户名 第二列:存放真正加密的密码,采用SHA512散列算法,更加安全 加密原来用MD5 或 DES !!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了 第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d "1970-01-01 15775 days"可以查看哪一天改过 第四列:多久之后才可以修改密码,如果是 0,则密码可以随时修改 最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码时间)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10则代表10天之内不能再次修改密码,(此字段是为了针对某些人频繁更改密码二设计的) 第五列:密码有效期,默认99999,表示永久生效 第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出"修改密码"的警告信息 第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用 例如:此字段规定的宽限天数是10则代表密码过期10天后失效,若是0则代表密码过期后立即失效,若是 -1 则代表密码永不失效 第八列:账号失效时间,使用自1970 年 1 月 1 日以来的总天数作为账户的失效时间 第九列:保留,未使用 二、Linux组账号分类组账号 基本组(私有组)∶基于某种特定联系(如都需要访问 FTP 服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组); 附加组(公共组)∶若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。 简说: 用户和组的关系 用户是员工,组是职位,员工可以兼职多个岗位总有一个最重要的身份 主要组合附加组主要组 必须要一个组 有且唯一。附加组可有可无 ,也可以有多个。 默认行为当你创建一个新用户时会自动创建一个和之同名的主组 UID和GID UID(User IDnetity,用户标识号) GID(Group IDentity,组标识号 ) 组账号保存文件/etc/group/etc/group文件? ? ? 保存组帐号的基本信息 /etc/gshadow文件? ? ? ?保存组帐号的密码信息 grep"^root"/etc/group 检索root 组包括哪些用户 grep "root" /etc/group 检索哪些组包括root 用户 [root@localhost~# grep"adm"/etc/group (检索adm组有哪些用户) sys:X:3:root,bin,adm adm:x:4:root,adm,daemon (adm组有root,adm,和daemon三个用户) 三、管理用户常用的命令添加创建用户命令useradd格式:userad+用户名(直接创建) 有目的的创建账户 useradd+选项+用户名 添加用户账号 -u∶指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 -d∶指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 -e∶指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 -g∶指定用户的基本组名(或使用 GID 号)。 -G∶指定用户的附加组名(或使用GID 号)。 -M∶ 不建立宿主目录,即使/etc/1login.defs 系统配置中已设定要建立宿主目录。 -s∶指定用户的登录 Shell。 创建或更改用户密码passwd格式:passwd+用户名(创建或更改用户密码) passwd+选项+用户名 -d∶清空指定用户的密码,仅使用用户名即可登录系统。 -l;锁定用户账户。 -S∶查看用户账户的状态(是否被锁定)。 -u∶解锁用户账户。 修改账号密码的有效期限chage命令chage命令∶用来修改帐号和密码的有效期限,针对目前系统已经存在的用户 格式? ?chage+ 【选项】+用户名 -m∶密码可更改的最小天数。为零时代表任何时候都可以更改密码。 -M∶ 密码保持有效的最大天数。 -w∶用户密码到期前,提前收到警告信息的天数。-E∶帐号到期的日期。过了这天,此帐号将不可用。 -d∶上一次更改的日期。 -i∶停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 -l∶例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。 修改用户账号属性usermod格式? usermod+选项+用户名 usermod命令参数 -l∶更改用户账号的登录名称。 -L∶锁定用户账户。 -U∶解锁用户账户 -u∶修改用户的 UID 号。 -d∶修改用户的宿主目录位置。 -e∶修改用户的账户失效时间,可使用 2021-12-25的日期格式。 -g∶修改用户的基本组名(或使用 GID 号)。 -G∶修改用户的附加组名(或使用 GID 号)。 -s∶指定用户的登录 Shel1。 删除用户账号userdeluserdel - r删除用户和宿主目录里的文件 用户账号的初始配置文件? 添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件,较常用的初始配置文件包括".bash logout"、".bash profile"和".bashrc"。其中,".bash profile"文件中的命令将在该用户每次登录时被执行;".bashrc"文件中的命令会在每次加载"/bin/Bash"程序(当然也包括登录系统)时执行;而".bash logout"文件中的命令将在用户每次退出登录时执行。 理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务。 在".bashrc"等文件中,可以添加用户自己设置的可执行命令(如 Linux 命令行、脚本控制语句等),以便自动完成相应的任务。 四、管理组常用的命令创建组groupadd命令 groupadd+组名称(直接创建) groupadd 【-g GID】 +组账号名(指定创建组uid号) groupadd-命令 -a∶添加用户到组 -d∶从组删除用户 -A∶指定管理员 -M∶指定组成员和-A的用途差不多 -r∶删除密码 -R∶限制用户登入组,只有组中的成员才可以用newgrp加入该组 删除组命令groupdel+组名称(必须把组成员都删除后才能删除组) 添加删除组成员gpasswdgpasswd+组名(修改组密码,一般很少用)
查询账号所属组groupsgroups+用户名 查询用户的UID GIDid + 用户名 查寻账号详细信息fingerfinger+用户名 ?五、文件目录的权限和归属文件/目录的权限和归属访问权限 ●读取r∶允许查看文件内容、显示目录列表 ●写入 w∶允许修改文件内容,允许在目录中新建、移动、删除文件或子目录 ●可执行x∶允许运行程序、切换目录 归属(所有权) ●属主∶拥有该文件或目录的用户帐号 ●属组∶拥有该文件或目录的组帐号 查看文件或目录的权限或归属 ls -l +文件或目录名 查看“ceshi”文件的权限(第一个“-”代表ceshi是个普通文件)
? ? ? ? ? ? ? ? ? ? ? ceshi文件的权限为“644”
设置文件或目录权限? 一般用chmod加数字比较简单 ?查看“ceshi”文件的权限(第一个“-”代表ceshi是个普通文件) 更改ceshi文件权限为755 可见rw-? r--? ?r--? 变为? rwx? r-x? r-x ceshi?变绿色表示有了执行权限 chown? -? R 能更改目录下所有子项的属主和属组 先进入ceshi2目录查看a的属 更改a目录的属主和属组为root 和ftp ? 进入a目录查看,目录下的子目录和文件属主属组都变为root,ftp ? ? ? 权限掩码umaskumask作用 控制新建的文件或者目录的权限 默认权限去除umask的权限为新建的文件或者目录的权限 umask设置∶ umask 022?(022是反掩码,777为最大权限,可以理解 777-022=755,所以创建bbb的目录权限是755 umask查看∶ umask 总结
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:56:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |