理论:------------账号和权限管理

用户账号和组账号概述

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			##解锁tom

passwd -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-----------------递归修改目录的归属

猜你喜欢

转载自blog.csdn.net/weixin_48190875/article/details/107470471