Linux 权限相关例题练习

目录

一、前期准备工作:

1)新建redhat用户

2)新建testdir目录及其file1

二、例题详解

1、当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1是否可修改和删除?

2、复制/etc/fstab文件到/var/tmp下,设置文件所有者为redhat,有读写权限,所属组为cxk组,有读写权限,其他人无权限​编辑

3、要求在/tmp/testdir里创建的新文件自动属于g1组,组g2的成员如alice能对这些新文件有读写权限,组g3的成员如tom只能对新文件有读权限,其他用户(不属于g1,g2,g3)不能访问这个文件夹

4.让普通用户有能力使用cat文件阅读/etc/shadow文件

5.创建/tmp/aaaa/目录,该目录中的文件只能文件拥有者可以删除


一、前期准备工作:

1)新建redhat用户

[root@localhost ~]# useradd redhat

[root@localhost ~]# echo 123 | passwd --stdin redhat
Changing password for user redhat.
passwd: all authentication tokens updated successfully.

2)新建testdir目录及其file1

[redhat@localhost ~]$ mkdir testdir
[redhat@localhost ~]$ chmod u="r-x" testdir
[redhat@localhost ~]$ cd testdir
[redhat@localhost testdir]$ touch file1
[redhat@localhost testdir]$ ll
total 0
-rw-r--r--. 1 redhat redhat 0 Sep 25 21:46 file1
[redhat@localhost testdir]$ chmod u="r--" file1
[redhat@localhost testdir]$ ll
total 0
-r--r--r--. 1 redhat redhat 0 Sep 25 21:46 file1

二、例题详解

1、当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1是否可修改和删除?

修改:(尝试修改文件的属主)————失败

[redhat@localhost testdir]$ chown root file1
chown: changing ownership of 'file1': Operation not permitted

删除:——失败

[redhat@localhost testdir]$ ll
total 0
-r--r--r--. 1 redhat redhat 0 Sep 25 21:52 file1
[redhat@localhost testdir]$ rm -f file1
rm: cannot remove 'file1': Permission denied

因此, 当用户redhat对/testdir目录无写权限时,该目录下的只读文件file1不可修改和删除

若对目录有写权限和执行权限,则对file1不能修改但可以删除

2、复制/etc/fstab文件到/var/tmp下,设置文件所有者为redhat,有读写权限,所属组为cxk组,有读写权限,其他人无权限

[redhat@localhost testdir]$ cp /etc/fstab /var/tmp
[redhat@localhost testdir]$ ll /var/tmp
total 4
-rw-r--r--. 1 redhat redhat 579 Sep 25 21:59 fstab
...

# 设置文件所有者
[redhat@localhost /]$ sudo chown redhat:cxk /var/tmp/fstab

由于Redhat无法成功创建cxk组,在网上查找资料后,要加上sudo命令,但Redhat也没有权限进行sudo,故给Redhat加上sudo权限

[redhat@localhost tmp]$ groupadd -g 1004 cxk
groupadd: Permission denied.    # 无法成功创建cxk
groupadd: cannot lock /etc/group; try again later.

[redhat@localhost /]$ sudo groupadd cxk
[sudo] password for redhat: 
redhat is not in the sudoers file.  This incident will be reported.    # 无使用sudo权限

 修改 /etc/sudoers 配置文件,使Redhat有权限使用sudo命令

[redhat@localhost /]$ su
Password: 
[root@localhost /]# vi /etc/sudoers
[root@localhost /]# exit
exit
[redhat@localhost /]$ 

Linux 权限相关例题练习_第1张图片

此时可成功创建cxk

[redhat@localhost /]$ sudo groupadd cxk
[redhat@localhost /]$ cat /etc/group
...
cxk:x:1112:

Linux 权限相关例题练习_第2张图片

 设置文件所有者:

此时redhat、cxk分别对fstab有读写操作和读操作

修改如下:

设置redhat有读写权限,cxk组有读写权限,其他人无权限

[redhat@localhost tmp]$ chmod g+w fstab
[redhat@localhost tmp]$ chmod o-r fstab

3、要求在/tmp/testdir里创建的新文件自动属于g1组,组g2的成员如alice能对这些新文件有读写权限,组g3的成员如tom只能对新文件有读权限,其他用户(不属于g1,g2,g3)不能访问这个文件夹

#创建g1,g2,g3组
[redhat@localhost /]$ sudo groupadd g1
[redhat@localhost /]$ sudo groupadd g2
[redhat@localhost /]$ sudo groupadd g3
[redhat@localhost testdir]$ sudo useradd -G g2 alice
[redhat@localhost testdir]$ sudo useradd -G g3 tom

#创建testdir目录
[redhat@localhost tmp]$ mkdir testdir
#再在testdir中创建data
[redhat@localhost testdir]$ mkdir data

[redhat@localhost testdir]$ sudo chgrp g1 data
[redhat@localhost testdir]$ chmod g+s data
[redhat@localhost testdir]$ setfacl -m g:g2:rw data
[redhat@localhost testdir]$ setfacl -m g:g3:r data
[redhat@localhost testdir]$ chmod o=- data
[redhat@localhost testdir]$ getfacl data    #查看data相关信息

Linux 权限相关例题练习_第3张图片

 

4.让普通用户有能力使用cat文件阅读/etc/shadow文件

普通用户在未提权前无法查看 /etc/shadow文件

[redhat@localhost var]$ cat /etc/shadow
cat: /etc/shadow: Permission denied

Linux 权限相关例题练习_第4张图片

5.创建/tmp/aaaa/目录,该目录中的文件只能文件拥有者可以删除

# 创建目录
[redhat@localhost tmp]$ mkdir aaaa
# 给满权限
[redhat@localhost tmp]$ chmod 777 aaaa/
[redhat@localhost tmp]$ ll aaaa/ -d
drwxrwxrwx. 2 redhat redhat 6 Sep 26 09:49 aaaa/
# 设置Sticky Bit权限
[redhat@localhost tmp]$ chmod a=rwxrwxrwt aaaa/
[redhat@localhost tmp]$ ll aaaa/ -d
drwxrwxrwt. 2 redhat redhat 6 Sep 26 09:49 aaaa/

Linux 权限相关例题练习_第5张图片

# 在aaaa中创建a文件
[redhat@localhost tmp]$ cd aaaa
[redhat@localhost aaaa]$ touch a

# 其他用户zx对该文件进行删除操作,删除失败
[zx@localhost ~]$ cd /tmp/aaaa
[zx@localhost aaaa]$ ll
total 0
-rw-r--r--. 1 redhat redhat 0 Sep 26 09:54 a
[zx@localhost aaaa]$ rm -rf a
rm: cannot remove 'a': Operation not permitted

# 原用户redhat进行操作,删除成功!
[redhat@localhost aaaa]$ rm -f a
[redhat@localhost aaaa]$ ll
total 0

Linux 权限相关例题练习_第6张图片

Linux 权限相关例题练习_第7张图片

你可能感兴趣的:(RHCSA,linux,运维,服务器)