Linux账号和权限管理

一、用户账号

1、用户账号概述

(1)Linux基于用户身份对资源访问进行控制
用户账号

- 超级用户(root管理员,权限最高,ID为0)
- 普通用户(较低权限)
- 程序用户(伪用户,不能登录操作系统,只能正常运行服务,比如ftp和apache)

组账号
- 基本组(私有组)
- 附加组(公有组)

UID和GID
- UID   (User IDentity,用户标识号)
- GID (Group IDentify,组标识号)

(2)用户的分类

超级用户:   root用户是Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于Windows操作系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。 root 拥有对系统的最高的管理权限ID=0。

普通用户:   普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限
系统用户UID:1-999(centos7版本)1-499(centos6版本)
UID:即每个用户的身份标示,类似于每个人的身份证号码。

程序用户:  在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不介许登录到系统,而仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail等
伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行如:ftp,apache

UID:          即每个用户的身份标示,类似于每个人的身份证号码。

普通组:GID

  • 系统组:1-499(Cent0S6)                 1-999(CENTOS7)
  • 普通组:500+(CentoS6)                  1000+(CENTOS7)

组账号:

  • 基本组
  • 附加组

2、用户账号文件/etc/passwd

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

  • 文件位置:/etc/passwd
  • 每一行对应一个用户的账号记录七个字段:

3、用户账号文件/etc/shadow

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

  • 文件位置:/etc/shadow
  • 每一行对应一个用户的密码记录

2. UID

  • 2.1 添加用户账号

useradd命令

useradd命令格式:useradd [选项]…用户名

常用选项:

 -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。

-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。只能用绝对路径指定目录,且不需要事先创建目录

-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。

-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。

-M:不建立宿主目录。

-s:指定用户的登录Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。

useradd -d ## -e ## -s ##命令:指定用户的宿主目录位置、账户失效时间以及登录shell信息

useradd -d /admin -e 2024-01-01 -s /sbin/nologin admin1  
#添加用户admin1,指定家目录/admin;指定失效时间:2024-01-01;指定不能登录到系统的shell命令

创建程序用户:useradd -M -s命令:不建立宿主目录,指定用户的登录shell信息

useradd -M -s /sbin/nologin ergouzi
#创建程序用户ergouzi,不建立宿主目录,shell登录信息,设置为不允许登录

 

2.2 设置/更改用户口令passwd

passwd命令

passwd命令格式:passwd [选项]…用户名

指定用户名时,修改当前账号的密

passwd -d命令:清空指定用户的密码,仅使用用户名即可登录系统

passwd -l命令:锁定用户账户,锁定的用户账号将无法再登录系统

passwd -S命令:看用户账户的状态(是否被锁定)

passwd -u命令:解锁用户账户

设置用户密码之方法二:echo “密码” | passwd --stdin 用户名

设置用户密码之方法三:echo <用户名>:<密码> | chpasswd

2.3 修改用户账号属性usermod

usermod命令

usermd命令格式:usermod [选项]…用户名

修改用户账号属性 usermod

-u:修改用户的 UID 号。

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

-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:修改用户的基本组名(或使用 GID 号)。

-G:修改用户的附加组名(或使用 GID 号)。

-s:指定用户的登录 Shell。

-l:更改用户账号的登录名称。

-L:锁定用户账户。

-U:解锁用户账户。

将 admin1 用户的登录名称更改为 master
usermod -l  master admin1

删除用户账号 userdel
userdel  [-r]  用户名
添加“-r”选项时可以将该用户的宿主目录一并删除

3、用户账号的初始配置文件

用户宿主目录下的初始配置文件只对当前用户有效

~/.bash_profile        
#此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件

~/.bashrc            
#此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件

~/.bash_logout        
#此文件中的命令将在用户每次退出登录或退出bash shell时执行

二、组账号

1、组账号文件

与用户账号文件相类似

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

2、添加账号-groupadd

groupadd命令

  • groupadd [-g GID] 组账号名

3、添加删除组成员-gpasswd

gpasswd命令

设置组账号密码(极少用)、添加/删除组成员
gpasswd [选项] 组账号名
常用选项
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

4、删除组账号-groupdel

groupdel命令

  • groupdel 组账号名

5、查询账号信息

(1)groups命令
  • 查询用户所属的组
  • groups [用户名]
(2)id命令
  • 查询用户身份标识
  • id [用户名]
(3)finger命令

查询用户账号的详细信息

  • finger [用户名]

查询用户帐号的详细信息 finger,需要先进行安装finger软件包

yum install -y finger

finger  [用户名]

(4)w、who、users命令

查询已登录到主机的用户信息

三、文件/目录的权限和归属

访问权限

  • 读取r:允许查看文件内容、显示目录列表
  • 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
  • 可执行x:允许运行程序、切换目录

归属(所有权)

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

2、设置文件和目录的权限chmod

chmod 权限变更格式 文件或目录路径

  • chmod [ugoa] [+ - =] [rwx] 文件或目录
  • chmod nnn 文件或目录

3、设置文件和目录的归属chown

chown命令

  • chown 属主 文件或目录
  • chown :属组 文件或目录
  • chown 属主:属组 文件或目录

-R:递归修改指定目录下所有子目录及文件的权限

4、权限掩码umask

umask作用

  • 控制新建的文件或目录的权限
  • 默认权限去除umask的权限为新建的文件或者目录的权限

umask设置:umask 022
umask查看:umask

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值