Linux权限控制
Linux的权限,是指某个用户对某个文件(文件夹)的操作权限。这里涉及用户组的概念。
注意事项:Linux的权限控制仅限于非root用户。
1.1 用户组
用户组的作用,就用于标识一种类型的用户,这样可以给一组用户(多个用户)授予权限。
|
1.1.1 查看用户组
注意:用户组的信息放在/etc/group。使用命令cat /etc/group
|
1.1.2 创建用户组
使用命令:groupadd [组名]
|
1.1.3 删除用户组
使用命令:groupdel [组名]
|
1.2 用户
1.2.1 添加用户
使用命令useradd [用户名],默认会将用户添加到跟用户名相同的用户组中。
如果要将用户添加到指定的组中,使用useradd -g [组名] [用户名],前提是指定的组必须存在。
|
1.2.2 查看用户
用户信息在/etc/passwd文件中查看
|
1.2.3 查看用户属组
使用命令groups [用户名]
|
1.2.4 修改用户属性
使用命令:usermod [用户名]
修改用户的属组:usermod -g [新组名] [用户名]
|
1.2.5 修改用户密码
使用命令passwd [用户名]
注意,输入密码的时候,光标不会移动!!!
|
1.2.6 切换用户
使用命令:su [用户名],退出命令使用exit。
如果使用命令:su - [用户名],表示一并切换用户的环境变量
|
验证环境变量是否切换
(1)在root用户下,使用export a=aaaa创建一个临时变量(随着用户注销而消失)
|
使用set命令,确定变量a添加成功。
|
(2)使用su hadoop切换到hadoop用户,变量a还存在,则表示没有切换环境变量。
|
(3)使用su - hadoop切换到hadoop用户,变量a不存在,表示切换了新的环境变量下。
|
问题:我们在开发中切换用户,到底要不要加”-”?
答:除非有特殊要求,通常需要加”-”
1.2.7 删除用户
使用命令userdel [用户名]
|
1.3 权限管理
Linux权限管理对root用户无效。
权限分为三种:可读(r)、可写(w)、可执行(x)
1.3.1 权限划分
使用ll命令,查看文件的详细信息,其中:
|
第1位:代表该文件的类型,”-”代表文件,”d”代表文件夹,”l”代表链接;
第2~4位:代表文件的拥有者的权限;
第5~7位:代表该文件拥有者的同组用户的权限(也称之为属组用户);
第8~10位:其它所有用户的权限。
第一个root:代表该文件的拥有者(默认是该文件的创建者);
第二个root:代表该文件拥有者的属组。
1.3.2 修改权限chmod
(1)chmod 【用户】【+、-】【权限】 文件
【用户】 u:表示该文件拥有者 g:文件拥有者属组用户 o:其它用户
【+、-】 +:表示增加权限 -:表示删除权限
【权限】 r:表示可读 w:可写 x:可执行
chmod u+x a.txt 表示给a.txt的拥有者,添加可执行权限。
(2)数字权限 r:4 w:2 x:1 r+w+x的值表示用户的最终权限
chmod 766 a.txt 表示拥有者满权限、属组读写权限、其它用户读写权限。