一、认识linux下用户的分类
root:超级用户(基本不受权限的约束)
普通用户:我们新建的用户(受权限约束)
(Linux中所有的用户都要有密码,无论是root还是其他,即便是多个普通用户,也要设置密码,建议设置不同密码)
adduser:创建新用户
su 用户名:登陆用户
sudo command:对一条指令进行暂时提权,以root的身份运行(目前我们用adduser新建的用户没有颁发执行sudo,系统不信任你,除非未来将普通用户添加到系统的信任白名单里)
二、什么叫做权限:
权限认证的是身份(权限和人有关)
权限也和事物的属性有关(文件属性:可读、可写、可执行)
A.文件的类型:Linux系统中,文件名后缀没有直接的意义(但是gcc是一款编译器软件,不代表其他Linux系统上运行的其他软件不需要后缀)
-:普通文件(文本、可执行程序、库文本都属于普通文件)
d:目录文件
b:块设备文件(磁盘文件)
c:字符设备文件(键盘、显示器文件等)
p:管道文件(用来进行通信的)
l:软链接
……
B1:拥有者权限 B2:所属组权限 B3:其他人权限
r:文件可读/是否允许我们查看指定目录下的文件内容
w:文件可写/是否允许我们在当前目录下进行创建,更改,删除
x:文件可执行/是否允许用户进入对应的目录
-:对应的权限位置没有权限
r/-:读权限 w/-:写权限 x/-:执行权限
位置是什么含义是确定的。每一个位置只有是或者否具有指定的权限。
C1:拥有者 C2:所属组
角色(权限身份)与具体用户的关系:
三、权限的修改问题:
1、chmod:去除权限(但root不受权限约束)
u:拥有者
g:所属组
o:其他人
法1:加减权限
法2:利用8进制表示权限的设定
2、chown:更改权限拥有者
四、其它问题
1、默认给普通文件的起始权限其实是666,默认给目录文件的起始权限其实是777。
权限掩码:凡是在umask中出现的权限,不会在最终的文件权限中出现。
最终权限=起始权限&(~umask)
2、用户自己的家目录权限是700,我在我的家目录创建的文件,别人都看不到。有的时候我们多个用户想进行文件数据的共享,我们所创立的共享文件不能在任何一个人的家目录下。文件是否能否被删除,并不由文件本身决定,由这个文件所属的目录决定。如果我们去掉了共享目录的w权限,我们也同时无法创建文件了。
若文件既要共享又要防止互止互删的情况发生,则需要引入粘滞位的概念。
粘滞位:目录设置,一般是共享目录,大家可以在目录进行各自文件的增删查改,只允许文件拥有者或者root能删这个文件,其他人一概不允许。t是一种特殊的x权限。