前言
上一篇介绍了Linux的基本操作指令入门和操作技巧:
https://blog.youkuaiyun.com/one11070910/article/details/127922013?spm=1001.2014.3001.5502/)
本篇介绍Linux的另一特色,即权限操作,Linux对文件或文件夹的操作都需要权限,用户在自己目录下拥有一切权限,出了自己的home目录就不太管用了,而根用户,即root用户拥有一切权限,来去自由。
同样,本文参考了黑马教学视频链接: link
1、 根用户
用户拥root有最大系统操作权限,普通用户在根目录下操作受限,例如普通用户无法在根目录下创建文件夹,需要切换到根用户。
用户只有在自己home目录下才有所有的权限,这个例子用户的路径不是home,而是home下面的ICer。(这个可以自己设置,无所谓,不过就是一个名字罢了)home目录下面是用户 ICer目录和一些实例目录。
2、 用户指令
su指令:用来切换用户;
exit或者ctrl+d返回上一个用户。
格式:
su [-] [用户名]
[-] 可选,表示切换用户后时候加载环境变量;
用户名不写默认根用户。
sudu指令:给用户临时根用户权限,需要给用户sudu认证:
1、切换根目录;
2、执行visudo,自动打开文件;
3、文件最后添加 [用户名] ALL = (ALL) NOPASSWD: ALL 。
3、 用户组
Linux系统可以:配置多个用户,配置多个用户组,用户可以加入多个用户组。
Linux中关于权限的管控级别有两个,分别是针对用户权限控制,针对用户组权限控制。
以下需用root用户执行:
创建用户组:groupadd [用户组名]
删除用户组:groupdel [用户组名]
创建用户:useradd [-g -d] [用户名]
-g 指定 用户的组,不指定创建同名组自动加入;
-d 指定home路径,不指定目录默认:/home/用户名。
1、删除用户:usedel [-r] [用户名]
-g 删除用户的home目录,不使用默认保留。
2、查看用户所属组:
id [用户名]
无用户名查看自身。
3、修改用户所属组:
usermod -aG [用户组] [用户名] [即将加入的用户组]
4、查看当前系统有哪些用户:
getent passwd
3、 查看权限
ls指令列表列出当前目录下文件信息,例如:
序号1,表示文件、文件夹权限控制信息;
序号2,表示文件、文件夹所属用户;
序号3,表示文件、文件夹所属用户组;
没一个文件前面一串便是权限信息,具体表示如下:
r代表读权限,w代表写权限,x代表执行权限,针对不同对象有不同含义:
4、chmod指令
chmod指令用来修改文件、文件夹权限信息,且只有文件、文件夹所属的用户与跟用户有权修改。
不同权限组合出了可以用rwx表示外,还可以用数字代表。
格式:chmod [-R] [权限] [文件或文件夹]
-R对文件内全部内容应用同样操作。
示例:
chmod u=rwx,g=rx,o=x hello.txt ,
将1文件hello.txt权限修改为rwxr-xe-x 。
chmod 751 hello.txt
同样,另一种写法,将1文件hello.txt权限修改为rwxr-xe-x
5 chown指令
chown指令用来修改文件、文件夹的所属用户组,且只有根用户有权执行。
格式:
chowm [-R] [用户][:][用户组] 文件或文件夹
-R对文件内全部内容应用同样操作。
示例:
chown root hello.v, 将hello.txt所属用户修改为root
chown root hello.v, 將hello.txt所属用户组修改为root
chown root:itheima hello.txt, 将hello.txt所展用户修改为root,用户组修改为itheima
chown -Rroot test,將文件夹test的所属用户修改为root井对文件夹内全部内容应用同样规则