权限:管理员root、 普通用户
-
文件操作对用户的分类:
文件所有者(u) 文件所属组(g) 其他用户(o)
-
用户对文件操作的分类:
可读(r) 可写(w) 可执行(x)
-
对目录操作的分类
r(可浏览--ls) w(创建/删除) x(可进入--cd)
可读权限: 如果目录没有可读权限, 则无法用ls等命令
查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件,
也无法在目录中删除文件
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
注:如果目录只具备【r】权限,则无法cd进入目录,但可以ls浏览目录下文件
如果目录只具备【x】权限,则可以cd进入目录,但不能ls浏览目录下文件
-
权限的存储方式:二进制位图
文件权限的常用命令
- 求文件的权限:给定权限&掩码取反 = 实际权限
[文件类型/文件所有者权限、文件所属组权限、其它用户权限]
-
touch 664 新建一个文件的权限为664
-
umask 035 设置权限掩码为035
<-S> 查看详细信息:(u=rwx g=rwx o=rx)
-
chmod [u/g/o/a] ±(r/w/x) filename 给指定用户添加r/w/x权限
chmod ±(r/w/x)filename 给所有用户添加r/w/x权限
沾滞位[-t]:使其他用户在这个目录下只能创建/删除自己的文件
chmod +t filename 给指定文件沾滞位权限
-
特殊权限:SUID,SGID,Sticky
SUID---文件属主的x权限,用s代替.表示被设置了SUID:为4000----chmod u+s
启动为进程之后,其进程的属主为原程序文件的属主;
只能作用在二进制程序上,不能作用在脚本上,且设置在目录上无意义 ;
执行suid权限的程序时,此用户将继承此程序的所有者权限;
SGID--文件属组的x权限,用s代替.表示被设置了SGID:2000----chmod g+s
作用在二进制程序上时, 执行sgid权限的程序时,此用户将继承此程序的所属组权限
作用于目录上时, 此文件夹下所有用户新建文件都自动继承此目录的用户组.
Sticky--沾滞位
对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除和改名自己的文件或目录;
只能作用在目录上.普通文件设置无意义,且会被linux内核忽略
用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限
- SUID: user, 占据属主的执行权限位;
s: 属主拥有x权限
S:属主没有x权限
- SGID: group, 占据group的执行权限位;
s: group拥有x权限
S:group没有x权限
- Sticky: other, 占据ohter的执行权限位;
t: other拥有x权限
T:other没有x权限
-
useradd username 添加新用户
<-m> 创建家目录
-
passwd username 修改指定用户密码
-
userdel username 删除用户
<-r> 附带家目录一块删除
-
chown username filename 修改文件所有者(root权限)
-
groupadd groupname 添加所属组
-
chgrp groupname filename 修改文件所属组(root权限)
Linux下一些重要目录
-
/proc:是一种伪文件系统(即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态
/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号
-
/sys:给应用程序提供了统一访问设备的接口
-
/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等
-
SELinux:是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
-
/usr:应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
-
tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
-
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动