测试

Linux权限模型

用户与组

用户和组分别用 UID 和 GID 表示,一个用户可以同时属于多个组,默认每个用户必属于一个与之 UID 同值同名的 GID。

系统保存用户信息的文件是 /etc/passwd ,保存组信息的文件是 /etc/group ,保存密码口令及其变动信息的文件是 /etc/shadow 。

文件权限标识

权限含义(文件)含义(目录)
r(read)读取文件内容查看目录列表
w(write)修改文件内容创建、删除、重命名文件
x(execute)执行文件进入目录

常见的文件标识方法比如举例

-rwx r-x –x

第1位如果是d则代表目录,是-则代表普通文件。

rwx是owner(所有者)权限:读写执行

r-x是group(对应组)权限:读和执行

–x是others(其余人)权限:仅执行

然后也可以用数字标识

rwx对应111 —对应000

故而755即是-rwxr-xr-x

常用命令

chmod

基本格式:

chmod [权限] 文件名

例如:

chmod 755 test.sh

表示将 test.sh 权限修改为:

-rwxr-xr-x
1.数字(见上)
2.符号

格式:

chmod [对象][操作][权限] 文件

对象:

符号含义
uuser,所有者
ggroup,所属组
oothers,其他用户
aall,所有人

(省略掉的话约等于a,比如chmod +x 文件)

操作:

符号作用
+添加权限
–删除权限
=设置为指定权限
  • 添加执行权限

例如:

chmod u+x script.sh

含义:

给 owner 添加执行权限。

3.递归修改权限

使用:

chmod -R 权限 目录

例如:

chmod -R 755 website/

会修改:

website/
 ├── index.html
 ├── css/
 └── js/

里面所有文件和目录。

注意:

-R 使用时要谨慎。

例如:

chmod -R 777 /

可能导致严重安全问题。

4.常见权限设置
场景权限命令
普通文件644chmod 644 file
可执行脚本755chmod 755 script.sh
私人文件600chmod 600 secret
私人目录700chmod 700 dir
共享目录775chmod 775 dir

chown

Linux 规定:

  • root 可以修改任意文件 owner
  • 普通用户通常只能修改自己拥有文件的某些属性

chown 用于修改文件或目录的所有者(owner),也可以同时修改所属组(group)。

基本格式:
chown [用户] 文件

例如:

sudo chown xiao test.txt

表示:

把 test.txt 的所有者改成用户 xiao。

同时修改所有者和组

格式:

chown 用户:组 文件

例如:

sudo chown xiao:developers project.txt

结果:

-rw-r--r-- 1 xiao developers project.txt
只修改组

虽然专门有 chgrp,但 chown 也可以:

sudo chown :developers file

注意冒号:

用户:组
  ↑
空着

表示:

不改 owner,只改 group。

等价于:

chgrp developers file
递归修改目录

和 chmod 一样:

chown -R 用户:组 目录

chgrp

chgrp 用于修改文件或目录的所属组(group)。

基本格式:

chgrp [组名] 文件

例如:

sudo chgrp developers project.txt

表示:

把 project.txt 的所属组改为 developers。

大致规则与前面chown基本同理

/etc/passwd / /etc/shadow / /etc/group 的结构

/etc/passwd

[Linux]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
...

在 passwd 文件中每条记录分别为:

  • 用户名
  • 密码口令(在 /etc/shadow 中加密保存)
  • UID
  • GID(默认 UID)
  • 描述注释
  • 主目录
  • 登录 shell(第一个运行的程序)

/etc/shadow

[Linux]# cat /etc/shadow
root:$6$N3FOQjepEb0oy2FynGXqNTpH0eAWe4UF0:18843:0:99999:7:::
sshd:*:18843:0:99999:7:::
xiao:$6$u9TxaH3T.Ks.4wLeZgC9aEzBI8X7AYvW9:18843:0:99999:7:::
ftp:*:18843:0:99999:7:::
...

在 shadow 文件中每条记录分别为:

  • 登录名
  • 加密口令

$算法标识$参数/哈希盐$哈希结果

  • 最后一次修改时间
  • 最小时间间隔
  • 最大时间间隔
  • 警告时间
  • 不活动时间

/etc/group

[Linux]$ cat /etc/group
root:x:0:
tty:x:5:
cdrom:x:24:xiao,da
ftp:x:113:
...

在 group 文件中每条记录分别为:

  • 组名
  • 密码口令(一般不存在组口令)
  • GID
  • 附加成员用户名列表(逗号分隔)

关于主组和附加组:主组决定用户的默认组身份,尤其影响新建文件的所属组;附加组用于扩展用户访问其他资源的权限。两者都会参与 Linux 的权限检查。

目录权限模型

特殊权限

sudo 配置(/etc/sudoers、visudo)

ACL (Access Control List)

进程身份与内核权限检查

用户操作

创建用户

设置组

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇