热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

理论:账号和权限管理

用户账号和组账号概述Linux基于用户身份对资源访问进行控制用户账号超级用户、普通用户、程序用户组账号基本组(私有组)附加组(公共组)UID和GIDUID(UserIDenti

用户账号和组账号概述

Linux基于用户身份对资源访问进行控制



  • 用户账号

    • 超级用户、普通用户、程序用户



  • 组账号

    • 基本组(私有组)

    • 附加组(公共组)



  • UID和GID

    • UID(User IDentity,用户标识号)

    • GID(Group IDentify,组标识号)




用户账号文件

保存用户名称、宿主目录、登录Shell等基本信息



  • 文件位置:/etc/passwd

  • 每一行对应一个用户账号记录
    在这里插入图片描述

保存用户密码、账号有效期等信息

/etc/shadow


添加用户账号

useradd命令
useradd 【选项】 用户名



  • -u:------------------------------------指定UID多少

  • -d:------------------------------------指定宿主目录

  • -e:------------------------------------指定账户失效时间

  • -g:------------------------------------指定用户基本组

  • -G:------------------------------------指定用户附加组,既可以属于用户组也可以属于其他

  • -M:------------------------------------不建立宿主目录

  • -s:------------------------------------指定登录的 shelluser


设置/更改用户口令passwd

passwd命令
passwd【选项】 用户名



  • -d:------------------------------------清空密码

  • -l:------------------------------------锁定账号

  • -s:------------------------------------查看账户是否被锁定

  • -u:------------------------------------解锁用户账户

示例:

passwd tom ##账户设置密码
passwd -l tom ##锁定tom
cat /etc/passwd ##看下tom
passwd -u tom ##解锁tompasswd -l lisi ##会看到shadow lisi有2个锁定的”!“号
usermod -U lisi ##这个命令敲2次可以解锁

修改用户账号的属性usermod

usermod命令

usermod 【选项】用户名



  • -u ------------------------------------修改用户UID

  • -d ------------------------------------修改用户的宿主目录位置

  • -e ------------------------------------修改用户账号失效时间 可以YYYY-MM-DD日期

  • -g ------------------------------------修改用户的基础组名

  • -G ------------------------------------修改用户的附加组名

  • -s ------------------------------------指定用户登录的shell

  • -l ------------------------------------更改用户登录名称

  • -L ------------------------------------锁定账户

  • -U ------------------------------------解锁用户账户

示例:

usermod -l A B ##将B的登录名称改成A
mkdir /data ##创建A新的宿主目录/data
usermod -d /data A ##修改A的宿主目录
usermod -s /sbin/nologin A ##修改A的shell环境为:不能登录

删除用户账号userdel

userdel命令
userdel 【-r】用户名



  • 添加 -r 选项时,表示连用户的宿主目录一并删除

在这里插入图片描述


用户账号的初始配置文件3个重要隐藏文件



  1. .bash_profile --------文件中命令将在该用户每次登录被执行

  2. .bashrc --------文件中命令在每次加载/bin/Bash程序(包括登录)执行

  3. .bash_logout --------文件中的命令将在每次退出登录时执行

.bashrc和.bash_profile都是开机启动,.bashrc要比.bash_profile更加精细
.bash_logout 可以理解,干坏事后擦屁股,擦脚印的。


组账号文件

与用户账号文件相类似



  • /etc/group:保存组账号基本信息

  • /etc/gshadow:保存组账号的密码信息

在这里插入图片描述


添加组账号groupadd

groupadd命令
groupadd【-g GID】组账号名

示例:

groupadd -g 1000 market ##指定GID号

添加删除组成员gpasswd和组账号groupdel

gpasswd命令
gpasswd 【选项】组账号名



  • -a:--------------向组内添加一个用户

  • -d:--------------从组内删除一个用户成员

  • -M:--------------定义组成员列表,以逗号分隔

groupdel命令
groupdel 组账号名

示例:

groupdel market ##删除组账号market

查询账号信息

groups 用户名 ---------------查看用户所属的组
id 用户名 ---------------查看用户信息
finger 用户名---------------查询用户账号的详细信息
w、who、users命令---------------查询已登录到主机的用户信息


文件/目录的权限和归属

访问权限



  • 读取 r:允许查看文件内容、显示目录列表

  • 写入 w:允许修改文件内容,允许在目录中新建、移动删除文件或者子目录

  • 可执行 x :允许允许程序、切换目录

归属(所有权)



  • 属主:拥有该文件或目录的用户账号

  • 属组:拥有该文件或目录的组账号

在这里插入图片描述


设置文件和目录的权限chmod

chmod【选项】权限 目录文件名



  • -R:----------------- 递归修改目录权限

  • u:-----------------user属主

  • g:-----------------group属组

  • o:-----------------other其他

  • a:-----------------all所有

  • +:-----------------增加权限

  • -:-----------------减少权限

  • =:-----------------设置权限


设置文件和目录的归属chown

chown 属主:属组 文件目录 -----------------######设置文件目录的归属
-R-----------------递归修改目录的归属


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Linux的uucico命令使用方法及工作模式介绍
    本文介绍了Linux的uucico命令的使用方法和工作模式,包括主动模式和附属模式。uucico是用来处理uucp或uux送到队列的文件传输工具,具有操作简单快捷、实用性强的特点。文章还介绍了uucico命令的参数及其说明,包括-c或--quiet、-C或--ifwork、-D或--nodetach、-e或--loop、-f或--force、-i或--stdin、-I--config、-l或--prompt等。通过本文的学习,读者可以更好地掌握Linux的uucico命令的使用方法。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文由编程笔记小编整理,主要介绍了使用Junit和黄瓜进行自动化测试中步骤缺失的问题。文章首先介绍了使用cucumber和Junit创建Runner类的代码,然后详细说明了黄瓜功能中的步骤和Steps类的实现。本文对于需要使用Junit和黄瓜进行自动化测试的开发者具有一定的参考价值。摘要长度:187字。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
author-avatar
SU大肥婆_545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有