你好,linux内核编译到最后一步时,重新启动无法找到root分区,这是什么原因?
看下编译的结果,截图看下~
上一下报错截图和错误提示,否则,不知道问题所在啊😂
三种权限:
读 写 执行
r w x
读写执行权限对于目录来说表示的含义:
读权限:对于目录来说读权限表示用户可以查看目录下有哪些文件ls
写权限:对于目录来说写权限表示用户可以在目录写进行创建文件,删除文件,移动文件,复制文件rm,mv,cp,touch
执行权限:对于目录来说执行权限表示可以进行目录切换cd
读写执行权限对于文件来说表示的含义:
读权限:表示用户可以查看文件内容cat
写权限:表示用户可以编辑文件echo ,vim
执行权限:表示用户可以执行该文本 #执行权限一般是给二进制可执行命令或者脚本的
在linux系统中一切皆文件!
属主:谁创建的这个文件谁就是属主
属组:在用户创建该文件的时候就是和属主的属组保持一致
#注意:属主和属组都是可以更改的
其他人:既不是属主也没再属组中
权限的介绍:
怎么查看权限那?
ls -l
[root@ken2 ~]# ls -l
-rw-r–r-x 1 root root 0 Jun 21 16:53 test1
– 文件类型
属主权限:
r read读权限
w write写权限
– 没有执行权限
权限设置chmod
chmod作用:更改权限
选项:
-R 级联更改
三类人:
u —->表示属主
g —->表示属组
o —> 其他人
a —>all表示属主属组其他人
在练习的时候去/tmp目录下:
常用到的权限:
664 #文本创键时默认的权限
755 #目录创建时默认权限
文本创建时的初始权限为666,但是需要减去umask值022,644
目录创建时的权限为777,但是需要减去umask值022,755
chown
作用:更改属主以及属组
-R:级联更改
更改属主属组的几种方法:
chown ken test #只改变test文件的属主
chown ken:root test #改变属主和属组
chown ken.root test
chown ken: test #表示的含义同时更改属主和属组为ken
chown ken. test
chown :ken test #只更改属组
chown .ken test
7.三类特殊权限
SUID
SGID
SBIT
SUID: 给二进制可执行命令设置,效果就是用户在执行该命令的时候使用属主权限相当于在使用root用户执行该命令。注意:SUID不可以设置在目录上面。
例子1:让其他让人可以查看/etc/shadow文件
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 23:50:38 CST 2019 on pts/1
[ken@ken2 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[root@ken2 tmp]# chmod u+s /usr/bin/cat
SGID: 可以设置在目录上面,也可以设置在命令上面,设置在命令上面和SUID效果一样
设置在目录上面效果:创建的文件会自动继承该目录的属组
例子1:给目录/ken添加SGID权限
[root@ken2 ~]# chmod -R g+s /ken #级联更改
[ken@ken2 ken]$ touch test1
[ken@ken2 ken]$ ll
total 0
-rwxrwsrwx 1 ken ken 0 Jun 23 00:18 test
-rw-rw-r– 1 ken root 0 Jun 23 00:18 test1
SBIT:作用是给目录设置,该目录下的文件只能属主进行删除修改等操作,其他人是没有权限去更改其他人的文件的
[root@ken2 ~]# chmod -R o-t /tmp #去掉SBIT权限
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]# su – ken1
Last login: Sun Jun 23 00:22:13 CST 2019 on pts/1
[ken1@ken2 ~]$
[ken1@ken2 ~]$ cd /tmp
[ken1@ken2 tmp]$ ls
ken kenken test test1 vmware-root
[ken1@ken2 tmp]$ rm -rf kenken
[ken1@ken2 tmp]$ ls
ken test test1 vmware-root
怎么添加SBIT权限?
[root@ken2 ~]# chmod o+t /tmp
[root@ken2 ~]# ls -ld /tmp
drwxrwxrwt. 9 root root 169 Jun 23 00:23 /tmp
ACL权限
作用:可以对特定的用户进行特定的管控
例子1:实现对ken用户管控,只允许该用户对test1文件进行读操作,不可以写操作
设置:
[root@ken2 tmp]# setfacl -m u:ken:r test1
查看acl权限:
[root@ken2 tmp]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
user:ken:r–
group::r–
mask::r–
other::rw-
验证:
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ cat test1
123
[ken@ken2 tmp]$ echo “123” >> test1
-bash: test1: Permission denied
去掉acl权限:
[root@ken2 tmp]# setfacl -b test1 #-b去掉所有的acl权限
[root@ken2 tmp]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
group::r–
other::rw-
[root@ken2 tmp]# su – ken
Last login: Sun Jun 23 00:29:10 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test1
[ken@ken2 tmp]$
[ken@ken2 tmp]$ cat test1
123
123
[ken@ken2 tmp]$
visudo
作用:是以特定的用户身份去执行某个命令
root ALL=(ALL) ALL
root 表示那个用户
ALL 表示可以从那台主机进行登录
(ALL) 表示以谁的身份运行命令,如果是ALL表示的是root身份
ALL 表示可以执行什么样的命令 #注意:命令这里要使用绝对路径
例子1:ken用户以root身份来执行useradd和userdel命令
ken ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel
验证:
[ken@ken ~]$ useradd kenken
-bash: /usr/sbin/useradd: Permission denied
[ken@ken ~]$ sudo useradd kenken
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for ken: #注意:这里输入的是ken用户的密码而不是root管理员的密码
[ken@ken ~]$ id kenken
uid=1001(kenken) gid=1001(kenken) groups=1001(kenken)
[ken@ken ~]$ sudo userdel -r kenken #注意:五分钟之内不需要输入密码
[ken@ken ~]$ id kenken
id: kenken: no such user