Linux系统用户权限管及目录、文件的管理(基础详解,操作演示,通俗易懂)

用户账号和组账号

Linux系统是基于用户身份对资源访问进行控制,Linux的用户账号分为以下三类:

  • 超级用户:就是root用户,在所有用户中它拥有最大的权限 ,管理着普通用户,可以说你有了一台服务器的root权限,那这台服务器基本就是你的了。
  • 普通用户: 一般用户,其使用系统的权限受限,可以使用root账户对其管理。
  • 程序用户:也叫系统用户,保障系统运行的用户,一般不可人为登录系统。

常用的组账号一般分为两种:

  • 基本组:也叫私有组,一般在创建账号时系统默认给每个账号都创建一个与自己同名的基本组。
  • 附加组:也叫公共组,一般都是由管理员账户创建用来管理用户权限的。

UID和GID:

  • UID:用户标识号(User IDentity)
  • GID:组标识,(Group IDentity)

    用户账号相关的两个文件:

  • 用户账号文件/etc/passwd:保存用户名称、宿主目录、登录shell等基本信息。

    上面是我截出的/etc/passwd文件的基本格式,下面我来介绍每个部分代表的内容:
    root:用户名称
    x:密码占位符,密码保存在/etc/shadow文件内
    0:用户id,UID
    0:组id,GID
    root:注释信息
    /root:用户家目录
    /bin/bash:用户默认使用shell

    root的UID/GID为0;程序用户的UID/GID为1~499;普通用户的UID/GID为500~60000。

  • 用户账号文件/etc/shadow:保存用户的密码、账号有效期等信息。

    上面是我截出的/etc/shadow文件的基本格式,下面我来介绍每个部分代表的内容:
jiang:用户名称
$6$lA9A.3a/aE$5V.E3sipR6H1bcdNg.5uQOGeS0M6NDcoqinrfMI9f3g>rWYXZHZgGyCRYZ1cRifI1/5tIy5hcX3UtGsncq2jYr1:用哈希(Hash)算法加密过的密码
18117:用户创建的日期距离1970-01-01多少天(1970-01-01是官方的Unix启动时间)
0:表示密码的最短使用期限(天)
99999:表示密码的失效时间(天)
7:表示失效前多少天提醒用户

用户操作:添加用户、修改密码、修改用户和删除用户

  • 添加用户账号:useradd命令(格式:useradd...[选项]...用户名)

    [选项]:
    -u-----------------UID
    -d-----------------用户的家目录
    -e-----------------失效时间(天)    格式:YYYY-MM-DD(如:1990-10-11)
    -g-----------------基本组
    -G-----------------附加组
    -M----------------不创建家目录
    -s-----------------shell登录(可以登录:/bin/bash;无法登录:/sbin/nologin)

设置/更改用户密码:passwd命令(格式:passwd...[选项]...用户名)

[选项]:
-d----------------------------删除密码
-l-----------------------------停止账号使用
-S(大写)---------------显示密码信息
-u---------------------------启用已被停止的账户
不加选项直接跟用户,是更改用户密码

修改用户账号的属性:usermod命令(格式:usermod...[选项]...用户名)

[选项]:
-l(小写)-----------------------修改账号名称
-L(大写)----------------------锁定用户账号
-U(大写)---------------------解锁用户账号

其它选项还有-u、-d、-e、-g、-G、-s的含义与useradd命令相同

删除用户账号:userdel命令(格式:userdel...[-r]...用户名)
添加-r选项时,表示连用户宿主目录一起删除。

补充:切换用户命令:su [-] 用户名。加“-”表示维持当前路径进入其他用户,不加“-”切换用户默认进入用户家目录。

组账号相关文件

组账号文件与用户账号文件相类似:

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

添加组账号:groupadd命令(格式:group...[-g GID]...组账号名)

添加/删除组成员:gpasswd命令(格式:gpasswd...[选项]...组账号名)
此命令也可用来设置组账号密码,不过用的极少。

选项:
-a------------------向组内添加一个用户
-d------------------从组内删除一个用户
-M-----------------定义组成员列表,以逗号“,”分隔(同时向组内添加多个成员,但会覆盖之前添加的成员)




删除组账号:groupdel命令(格式:groupdel...组账号名)

查询账号信息:

groups命令:查询用户所属的组(格式:groups...[用户名])

id命令:查询用户身份标识(格式:id...[用户名])

finger命令:查询用户账号的详细信息(格式:finger...[用户名])


w、who、users命令:查询已登录到主机的用户信息

文件目录的权限和归属:

访问权限:

  • 读取r:允许查看文件内容、显示目录列表(对应数字4)
  • 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录(对应数字2)
  • 可执行x:允许运行程序、切换目录(对应数字1)
    归属(所有权):
  • 属主:拥有该文件或目录的用户账号
  • 属组:拥有该文件或目录的组账号

查看文件、目录的权限和归属:
一般用ls -l 命令去查看文件、目录的权限和归属,可以在目录下直接输入“ls -l”命令查看当前目录下的子目录与文件的权限和归属,也可以直接用“ls -l 目录名/文件名”直接查看你想看的目录或文件的权限与归属。

下面我截取一个文件的信息来仔细解释每个部分所代表的含义:
-rw-------. 1 root root 1801 8月 9 19:32 anaconda-ks.cfg
将这个文件的信息进行分解:

- ; rw- ; --- ; ---. ; 1 ; root ; root ; 1801 ; 8月 9 19:32 ; anaconda-ks.cfg

-:表示文件的类型(-表示普通文件、d表示目录文件、l表示链接文件、b设备文件)
rw-:表示文件属主对该文件拥有的权限(r表示读取权限、w表示写入权限、x表示执行权限、rwx三个权限的顺序固定,-在哪个位置就表示不具备该权限)
---:表示属组对该文件拥有的权限
---:表示所有人对该文件的拥有权限
1:表示硬链接的数量
root:表示文件的属主
root:表示文件的属组
1801:表示文件大小,单位字节
8月  9  19:32 :表示文件创建时间
anaconda-ks.cfg:表示文件名

设置文件和目录的权限:
chmod命令(有两种格式,加上“-R”表示递归修改目录下所有子项的权限)

  • 格式1:chmod... [u、g、o、a][+、-、=][r、w、x]....文件/目录
    u、g、o、a分别表示属主、属组、其他用户、所有用户
    +、-、=分别表示增加、去除、设置权限
    r、w、x分别表示读取、写入、执行权限

  • 格式2:chmod...nnn....文件/目录(这种格式比第一种更方便快捷,推荐用这种格式
    n、n、n为三个八进制数,第一个n表示属主权限,第二个表示属组权限,第三个表示所有人的权限
    n为每个权限对应数字的和,只有读取权限则n=4,拥有读写权限则n=6,拥有所有权限则n=7,没有权限则n=0

    设置文件和目录的归属:
    chown命令(加上“-R”递归修改目录下所有子项的归属)
    格式:chown...属主[:属组]...文件或目录

权限掩码umask:
umask的作用:
控制新建的文件或目录的权限
默认权限去除umask的权限就为新建的文件或目录的权限
umask设置:命令“umask... nnn”,三个n与chmod命令的相同
umask查看:命令“umask”,直接输入“umask”可以查看当前的权限掩码

原文地址:https://blog.51cto.com/14449541/2430539

时间: 2024-10-11 20:03:30

Linux系统用户权限管及目录、文件的管理(基础详解,操作演示,通俗易懂)的相关文章

嵌入式 Linux系统编程(五)——目录文件函数

嵌入式 Linux系统编程(五)--目录文件函数 Linux中目录也是文件,目录操作函数为标准IO库函数.主要函数如下: #include <sys/types.h> #include <dirent.h> DIR *opendir(const char *name); DIR *fdopendir(int fd); 成功返回一个指向目录流的指针,失败返回NULL,并且设置errno全局变量. #include <dirent.h> struct dirent *rea

Linux系统LVM逻辑卷的创建与扩容(命令详解,图文并茂)

LVM简介: LVM(Logical Volume Manager)中文名:逻辑卷管理器,本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组(VolumeGroup).LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备.底层的原始的磁盘不再由内核直接控制,而由LVM层来控制.对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元.LVM管理着

企业批量部署Win7(三)—— AIK应答文件磁盘管理部分详解

我们知道基于传统的MBR格式的分区主分区+扩展分区最多可以有4个,多余的分区就需要创建在逻辑分区里.AIK应答文件中对分区的操作分为创建分区和格式化分区2部分.我们以一块60G硬盘为例,将磁盘划分为: 系统保留        200M        主分区         无盘符 OS              30G         主分区          C盘 ex1             10G         逻辑分区        D盘 ex2          剩余全部空间   

linux系统-用户管理-概念及原理

linux系统-用户管理-概念及原理 一 相关概念 1 /etc/passwd 的文件格式:用户名:密码位:用户标识号:组标识号:注释等相关描述:宿主目录:默认的shell,列如 chengzhi:x:500:500:chengzhi-CentOS:/home/chengzhi:/bin/shell 2 /etc/shadow 的文件格式:用户名:md5加密的密码(md5是单向不可逆的算法,固定长度):最后一次修改的时间:最大时间间隔:最小时间间隔:警告时间:闲置时间:失效文件:标志,前面两项比

Linux系统用户与用户组介绍

一:Linux多用户多任务介绍 Linux/Unix是一个多用户,多任务的操作系统:在介绍Linux账号及账号组管理之前,先简单了解下多用户,多任务操作系统的基本概念. Linux的单用户多任务 鉴于大家对windows比较熟悉,因此先以windows系统为例阐述.当我们以管理员账号administrator用户登录windows系统后,可能需要编辑word文档内容,但在编辑文件的过程中,又可能会同时打开音乐播放器听音乐:同时还可能会打开MSN/QQ等一些程序.其中编辑word文档.开播放器,开

Linux 下的权限改变与目录配置

Linux 下的权限改变与目录配置 ./代表本目录的意思. (1):用户与用户组, 1:文件所有者,文件被某一用户所有 2:用户组:    对文件给与一个或者多个用户权限配置 3:其它人: (2):linux用户身份与用户组记录的文件 1:root 相关信息记录到 /etc/passwd中 2:个人密码记录到/etc/shadow中 3:linux所有的组名记录在/etc/group中 (3):linux文件权限概念 :permission deny,无权限的提示 (4):linux 的权限属性

linux系统用户管理(一)

Linux系统用户管理1.用户管理*****2.Linux用户命令****3.用户创建的原理***4.密码管理***5.组命令管理**6.身份切换*****7.sudo提升权限***** 我们现在所使用的操作系统都是多用户操作系统AAA 认证体系认证 授权 统计 用户和组存在的意义 1.系统上的每一个进程(运行的程序)都需要特定的用户运行2.每一个文件都有特定的用户拥有3.访问文件或目录受到用户的限制4.进程能够以何种方式访问某一个文件或目录,与进程所关联的用户有关 查看当前登录的用户信息[[e

linux系统-用户管理-常用命令

linux系统-用户管理-常用命令 一 用户 1 useradd 用户名 [-参数].. 2 passwd 改密码 3 usermod 修改用户的信息 [-G 添加用户到用户组] [-L禁用用户][-U恢复用户] 二 用户组 1 groupadd 组名 [-参数] 添加用户组 2 groupdel  删除用户组 3 groupmod 设置信息 三 用户与用户组 1 添加用户到用户组:gpasswd -a 用户组 用户 2 用户组删除用户:gpasswd -d 用户 3 设置用户组管理员:gpas

Linux系统根文件以及命名规则详解

一.Linux系统根文件详解 Linux的重要哲学思想其实就是:将程序的配置文件保存为纯文本格式. 1./boot:系统启动文件,如:内核文件,iniyrd以及gurb(bootloarder) 2./dev:目录下为设备文件,设备文件又分为块设备和字符设备: 块设备:按数据块随机访问,没有顺序. 字符设备:线性访问,按字符为单位进行. 注:其中背景为黑色,字体为***的文件,为特殊文件,"1,   0"分别为文件的主设备号和次设备号 [[email protected] ~]# ls