文件的权限问题及umask 普通文件 SUID chmod
粉丝不过w
普通文件默认是 644 也就是:
自已有读写(rw),同组人员有读(r),其它有读(r)
默认权限可通过 umask 修改
默认 umask 为 022
文件:666 - 022 = 644
目录:777 - 022 = 755
如 umask 044 的指令,则生成的文件目录权限
文件:666 - 044 = 622
目录:777 - 044 = 733
r(Read,读取):文件:具有读取文件内容的权限
目录:具有浏览目录的权限
w(Write,写入):文件:具有新增、修改文件内容的权限
目录:具有删除、移动目录内文件的权限
x(eXecute,执行):文件:具有执行文件的权限
目录:该用户具有进入目录的权限
s 或 S(SUID,Set UID):小写 s :能执行
大写 S :不能执行
可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源
请注意具备 SUID 权限的文件,黑客经常利用这种权限,以 SUID 配上 root 帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用
r ----- 读访问
w ----- 写访问
x ----- 执行许可
s ----- SUID / SGID
t ----- sticky 位
用户修改密码,是通过运行命令 passwd 来实现的
最终必须要修改/etc/passwd 文件,而 passwd 的文件的属性是
passwd 文件只有对于 root 用户是可写的,而对于所有的他用户来说都是没有写权限的
一个普通的用户如何能够通过运行 passwd 命令修改这个 passwd 文件,为解决这个问题, SUID/SGID 便应运而生
AT&T 对它申请了专利
进程在运行的时候,有一些属性,其中包括 实际用户 ID,实际组ID,有效用户 ID,有效组 ID 等
实际用户 ID 和实际组 ID 标识我们是谁,谁在运行这个程序,一般这 2 个字段在登陆时决定,在一个登陆会话期间, 这些值基本上不改变
有效用户 ID 和有效组 ID 则决定了进程在运行时的权限
内核在决定进程是否有文件存取权限时, 是采用了进程的有效用户 ID 来进行判断的
当一个程序设置了为 SUID 位时,内核就知道了运行这个程序的时候,应该认为是文件的所有者在运行这个程序
该程序运行的时候,有效用户 ID 是该程序的所有者
T 或 T(Sticky):小写 t 表示能执行,大写 T 表示不能执行/tmp 和 /var/tmp 目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件
R,W,X 是基本权限 S,T 是特殊权限.
各权限位代表的数字值:
R:4
W:2
X:1
suid:4
sgid:2
sticky:1
当使用特殊权限位时 chmod 的用法:
例:
chmod 7000 后的权限: ---S--S--T
chmod 7755 后的权限: -rwsr-sr-t
相关文章
- C语言实现读取文件的简单代码「建议收藏」
- 微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等
- 文件基本权限与特殊权限
- 文件和文件流
- Linux中传输文件如何做到又快又安全?同学,scp命令了解一下!
- SQLServer 错误 17067 SQL Server断言:文件: <%s>,行 = %d %s。 此错误可能与时间有关。 如果重新运行该语句后错误仍然存在,请使用 DBCC CHECKDB 来检查数据库的结构是否完整,或重新启动服务器以确保内存中的数据结构未破坏。 故障 处理 修复 支持远程
- Linux中如何查看文件的创建时间详解
- 在CentOS6或RHEL6恢复上ext4文件系统误删除的文件详解程序员
- [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义详解编程语言
- 给Linux文件增加执行权限(linux添加执行权限)
- Linux文件的独特保护机制(linux文件的特殊权限)
- Linux下给文件赋予可执行权限的方法(linux赋可执行权限)
- abap 函数弹出磁盘文件选择界面详解编程语言
- 权限Linux SVN权限控制:管理文件安全(linuxsvn文件)
- Linux文件权限设置指南(linux文件获得权限)
- 利用LS排序Linux文件信息(linuxls排序)
- 权限提升Linux运行文件权限简易操作指南(linuxrun文件)
- Linux下文件加密传输安全保障(linux文件加密传输)
- Linux下查看文件权限的简易指南(linux 看文件权限)
- 以文本方式上传二进制文件的PHP程序