linux--用户、组、权限

简介: linux--用户、组、权限

      说到用户组权限,可以想像成windows操作系统一样,同样都是基于用户身份来控制对资源的访问,每个用户账户都有唯一的用户名与密码,只是个别细节方面存在一些差异。

系统用户文件

系统文件路径:

       /etc/passwd 用户信息文件

       /etc/shadow 用户密码文件

1、创建用户

格式如下:

useradd        [选项]        用户名

-u 指定用户的uid

-g 指定用户的基本组

-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的

-c 指定描述

-d 指定家目录

-M 不建立家目录

-s 指定shell

-e 指定用户过期时间, 日期

-f 指定用户过期时间, 天数

2、修改用户权限

针对已有用户修改属性(和创建用户相同),格式如下:

usermod     [选项]     用户名

-u 指定用户的uid

-g 指定用户的基本组

-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的

-c 指定描述

-d 指定家目录

-M 不建立家目录

-s 指定shell

-e 指定用户过期时间, 日期

-f 指定用户过期时间, 天数

3、设置密码

格式如下:

passwd     [选项]     用户名

选项如下:

-l 锁定

-u 解锁

-d 清空

例:无交互创建密码(适用于脚本)

echo "密码" | passwd --stdin 用户名

4、删除用户

userdel     [选项]     用户名

-r 删除宿主目录

5、文件内容详解

       以/etc/passwd用户信息文件、/etc/shadow用户密码文件为例,以“冒号”为分隔符。

使用命令查看root用户

1. head -1 /etc/passwd
2. root:x:0:0:root:/root:/bin/bash
3. 用户名:密码占位符:UID:GID:描述信息:家目录:登录shell

使用命令查看zhangsan用户密码文件

1. tail -1 /etc/shadow 
2. zhangsan:1nPiR1mec91adasdasw222:18463:0:99999:7:::

1)用户名

2)加密后的密码

3)上一次密码修改时间(单位是天,是距离1970年1月1日 多少天)

4)密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改

5)密码最大生存周期 单位:天,密码使用的最长时间

6)密码到期前几天开始警告

7)密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天

8)账户过期时间

9)保留列

6、查看用户ID

id  用户名

系统组文件

与用户文件一样都是以冒号分隔。

1. head -1 /etc/group
2. root :x:0:
3. 组名:密码占位符:GID:用户列表

1、创建组

格式如下:

groupadd    [选项]    组名

选项如下:

-g  指定gid

2、修改组

格式如下:

groupmod    [选项]    组名

3、删除组

格式如下:

groupdel    组名

4、管理组成员

添加成员到组

gpasswd -a  用户名 组名

删除组内成员

gpasswd -d  用户名 组名

批量添加成员到组

gpasswd -M  用户1,用户2 组名

系统文件权限

文件权限可用数字表示

可读 可写 可执行
r w x
4 2 1

[root@localhost ~]# ll test.txt

-rw-r--r--. 1 root root 0 8月 21 18:27 test.txt

第一栏代表这个文件的类型与权限 。

    第一个字符代表这个文件是“目录、文件或链接文件等等”:

       [ d ]则是目录,例如上表文件名为“.config”的那一行;

       [ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;

       [ l ]则表示为链接文件(link file);

       [ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);

       [ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备) 。

    接下来的rwx权限字符,以三个为一组:

       第一组为“文件拥有者可具备的权限”;

       第二组为“加入此群组之帐号的权限”;

       第三组为“非本人且没有加入本群组之其他帐号的权限。

第二栏表示有多少文件名链接到此节点。

第三栏表示这个文件(或目录)的“拥有者账号”。

第四栏表示这个文件的所属群组。

第五栏表示这个文件的容量大小,默认单位是Bytes(字节)。

第六栏表示这个文件的创建日期或者是最近修改日期。

第七栏为这个文件的文件名。

系统文件权限属组

1、修改文件的属组

chgrp   组名  文件或目录名

2、修改文件归属者

       下面命令可以只设置属主也可以同时设置属组。

格式如下:

chown   属主[:[属组]]   文件或目录名

       例:如果只想设置属组可以执行下面命令(单独设置属主就不需要加冒号了)。

chown :属组   文件或目录名

3、修改文件权限

格式如下:

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

       例1:设置文件属主拥有全部权限,属组可读,其他人没有任何权限。

1. [root@localhost ~]# chmod 740 test.txt 
2. [root@localhost ~]# ll -d test.txt
3. -rwxr-----. 1 root root 0 8月  21 18:27 test.txt

       例2:根据例1的权限,同组成员添加可执行权限。

1. [root@localhost ~]# chmod g+x test.txt
2. [root@localhost ~]# ll -d test.txt
3. -rwxr-x---. 1 root root 0 8月  21 18:27 test.txt

4、文件acl

(1)查看acl

getfacl     文件名

(2)设置acl

格式如下:

setfacl     [选项]     文件名

选项如下:

-m u:用户名:rwx 文件名                 单独赋予zhangsan权限

-x u:用户名                                     删除acl条目

-b 清空acl

(3)查看文件隐藏文件

lsattr     [文件名]

(4)更改文件隐藏权限

格式如下:

chattr     [选项]     文件名

选项如下:

+i 锁定文件

+a 设置文件仅追加

系统文件特殊权限

1、SetUID

       当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。

       权限数字为4644——前面的4代表suid,后面表示用户组其他人权限。

格式如下:

1. ls -l /usr/bin/passwd
2. chmod u-s /usr/bin/passwd   去除s权限
3. chmod u+s /usr/bin/passwd   添加s权限

2、SetGID

       基本与SetUID相同,GID为设置所属组的特殊权限,可针对目录设置。

       权限数字为2644——前面的2代表guid,后面表示用户组其他人权限。

格式如下:

1. ls -l /usr/bin/passwdls -l /usr/bin/locate
2. chmod g-s /usr/bin/locate   去除g权限
3. chmod g+s /usr/bin/locate   添加g权限

3、SBIT

       粘滞位:只对目录有效,用户不能删除不属于自己的文件。

       权限数字为1755——前面的1代表sbit,后面表示用户组其他人权限。

格式如下:

chmod   [ugo]+t /目录


相关文章
|
7月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
445 3
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
342 2
|
10月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
9月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
527 6
|
10月前
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
482 6
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
315 1
linux特殊权限!!
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
271 11
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
173 2
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
978 2
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?