1 linux权限概念
1. 1 用户分类
2.1 语法
2.2 功能
2 Linux权限管理
2.1 文件访问者的分类(人)
2.2 权限表示
1 文件类型
2 基本权限
3 文件权限值的表示方法
2.3 权限管理命令
1. chmod 命令
2. chown 命令
3. chgrp 命令
4. umask 命令
2.4 特殊权限(粘滞位)
1 粘滞位的作用
2 设置粘滞位
3 示例
4 注意事项
Linux下有两种用户:超级用户(root)、普通用户
超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
su [用户名]
切换用户
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
- 读取(r):允许查看文件内容或列出目录内容。
- 写入(w):允许修改文件内容或在目录中创建、删除文件。
- 执行(x):允许执行文件或进入目录。
- “—”:表示不具有该项权限
a)字符表示方法
b)8进制数值表示方法
在 Linux 中,权限管理主要通过以下几个命令来实现:
chmod
命令chmod [options] mode file
chmod u+rwx file.txt # 给文件所有者增加读、写、执行权限
chmod g-w file.txt # 去掉组用户的写权限
chmod o=rx file.txt # 设置其他用户只有读和执行权限
chmod 755 file.txt # 设置文件权限为 rwxr-xr-x
chmod -R 755 directory # 递归更改目录及其子目录的权限
chown
命令chown [options] owner[:group] file
chown user file.txt # 将文件所有者改为 user
chown user:group file.txt # 将文件所有者改为 user,组改为 group
chown -R user:group directory # 递归更改目录及其子目录的所有者和组
chgrp
命令chgrp [options] group file
chgrp group file.txt # 将文件所属组改为 group
chgrp -R group directory # 递归更改目录及其子目录的所属组
umask
命令umask [options] [mask]
umask 022 # 设置新文件默认权限为 755,新目录默认权限为 755
umask 077 # 设置新文件和目录默认权限为 700
假设 umask 值为 022
:
666
- 022
= 644
(rw-r–r–)777
- 022
= 755
(rwxr-xr-x)umask
umask 022
$ umask
0022
$ touch newfile
$ mkdir newdir
$ ls -l newfile newdir
-rw-r--r-- 1 user user 0 Aug 16 09:04 newfile
drwxr-xr-x 2 user user 4096 Aug 16 09:04 newdir
要永久修改 umask,可以在用户的 shell 配置文件(如 .bashrc
或 .profile
)中添加一行:
umask 022
使用 chmod
命令可以设置粘滞位:
chmod +t directory # 为目录设置粘滞位
chmod -t directory # 移除目录的粘滞位
ls -ld /tmp
drwxrwxrwt 10 root root 4096 Aug 16 09:04 /tmp
mkdir mydir
chmod 1777 mydir # 设置粘滞位并赋予所有用户读、写、执行权限
ls -ld mydir
drwxrwxrwt 2 user user 4096 Aug 16 09:04 mydir