Linux 权限练习

一、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?

当用户对目录无执行权限,他将:

(1) 无法进入该目录;
(2) 无法查看该目录下的文件的内容;
(3) 无法查看该目录下的文件的详细属性;
(4) 无法创建、删除该目录下的文件。

二、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?

当用户对目录无读权限,他将:

(1) 无法查看该目录下的文件列表;
(2) 能进入该目录;
(3) 能创建、删除、该目录下的文件(前提是有文件的权限);
(4) 能修改该目录下的文件的内容(前提是有文件的权限)。

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

(1) 当用户对目录无写权限,该用户无法删除该目录下的文件。因为删除文件的权限由文件所在目录决定,删除文件相当于修改目录里的文件列表。目录是特殊文件,目录存储的内容就是文件列表。如果要删除目录下的文件,就要对文件有写权限,才有权限修改目录内的文件列表。
(2) 由于只读文件只有读权限,可以查看文件内容和属性信息;由于没有写权限,所以用户无法对文件内容进行修改。

四、当用户wangcai 对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?

(1) 当用户对目录只有写和执行权限,该用户将无法查看该目录下的文件列表,但能查看目录下的文件内容和属性信息,也能删除该目录下的文件。
(2) 由于只读文件只有读权限,可以查看文件内容和属性信息;由于没有写权限,所以用户无法对文件内容进行修改。

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

1. 创建用户和用户组

[root@centos7 ~]#useradd wangcai
[root@centos7 ~]#groupadd sysadmins

2. 复制/etc/fstab文件到/var/tmp下

[root@centos7 ~]#cp /etc/fstab /var/tmp/

3. 设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限

[root@centos7 ~]#chown wangcai:sysadmins /var/tmp/fstab
[root@centos7 ~]#chmod 660 /var/tmp/fstab
[root@centos7 ~]#ll /var/tmp/fstab
-rw-rw----. 1 wangcai sysadmins 595 Oct 29 02:12 /var/tmp/fstab

六、误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性

1. 查看用户家目录属性信息

[root@centos7 ~]#ll -d /home/wangcai/
drwx------. 3 wangcai wangcai 78 Oct 29 02:19 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwx------. 3 wangcai wangcai  78 Oct 29 02:19 .
drwxr-xr-x. 9 root    root    100 Oct 29 02:19 ..
-rw-r--r--. 1 wangcai wangcai  18 Aug  3  2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug  3  2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug  3  2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai  39 Oct 13 07:15 .mozilla

2. 删除用户家目录

[root@centos7 ~]#rm -rf /home/wangcai/

3. 恢复用户家目录

方法1:
[root@centos7 ~]#cp -a /etc/skel/ /home/wangcai
[root@centos7 ~]#chown -R wangcai:wangcai /home/wangcai/
[root@centos7 ~]#ll -d /home/wangcai/
drwxr-xr-x. 3 wangcai wangcai 78 Oct 13 07:16 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwxr-xr-x. 3 wangcai wangcai  78 Oct 13 07:16 .
drwxr-xr-x. 9 root    root    100 Oct 29 02:25 ..
-rw-r--r--. 1 wangcai wangcai  18 Aug  3  2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug  3  2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug  3  2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai  39 Oct 13 07:15 .mozilla
方法2:
[root@centos7 ~]#mkdir /home/wangcai
[root@centos7 ~]#cp -a /etc/skel/.[^.]* /home/wangcai/
[root@centos7 ~]#chown -R wangcai:wangcai /home/wangcai/
[root@centos7 ~]#ll -d /home/wangcai/
drwxr-xr-x. 3 wangcai wangcai 78 Oct 29 02:28 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwxr-xr-x. 3 wangcai wangcai  78 Oct 29 02:28 .
drwxr-xr-x. 9 root    root    100 Oct 29 02:28 ..
-rw-r--r--. 1 wangcai wangcai  18 Aug  3  2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug  3  2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug  3  2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai  39 Oct 13 07:15 .mozilla

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

1. 创建用户组

[root@centos7 ~]#groupadd g1
[root@centos7 ~]#groupadd g2
[root@centos7 ~]#groupadd g3

2. 创建用户并添加附加组

[root@centos7 ~]#useradd alice -G g2
[root@centos7 ~]#useradd tom -G g3

3. 创建/testdir/dir目录

[root@centos7 ~]#mkdir -p /testdir/dir

4. 修改/testdir/dir目录所有组为g1

[root@centos7 ~]#chgrp g1 /testdir/dir/

5. 设置在/testdir/dir里创建的新文件自动属于g1组

[root@centos7 ~]#chmod g+s /testdir/dir/

6. 设置g2组对/testdir/dir里创建的新文件有读写权限;设置g3组对/test/dir/dir里创建的新文件有读权限

[root@centos7 ~]#setfacl -m g:g2:rw,g:g3:r /testdir/dir/

7. 设置其它用户(不属于g1、g2、g3)不能访问这个目录

[root@centos7 ~]#chmod o=- /testdir/dir/

8. 查看目录特殊权限设置

[root@centos7 ~]#getfacl -p /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---

9. 查看目录属性信息

[root@centos7 ~]#ll -d /testdir/dir/
drwxrws---+ 2 root g1 16 Oct 30 12:40 /testdir/dir/

八、备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限。

1. 备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中

[root@centos7 ~]#getfacl -Rp /testdir/dir/ > /root/acl.txt
[root@centos7 ~]#cat /root/acl.txt
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---

# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
other::r--

2. 清除/testdir/dir中所有ACL权限

[root@centos7 ~]#setfacl -Rb /testdir/dir/
[root@centos7 ~]#getfacl -p /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
other::---

3. 还原ACL权限

方法1:
[root@centos7 ~]#setfacl -R --set-file=/root/acl.txt /testdir/dir/
[root@centos7 ~]#getfacl -Rp /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rw-
group::r--
group:g2:rw-
group:g3:r--
mask::rwx
other::r--

# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
group:g2:rw-
group:g3:r--
mask::rwx
other::r--
方法2:
[root@centos7 ~]#setfacl --restore=/root/acl.txt
[root@centos7 ~]#getfacl -Rp /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---

# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
other::r--
### Linux 权限管理教程 #### 文件和目录权限概述 Linux 中的每一个文件和目录都具有特定的所有者、所属组和其他用户的访问权限设置。这些权限决定了谁可以取、写入或执行该文件或进入该目录。 - **所有者 (User)**:创建文件的用户,默认拥有最高控制。 - **所属组 (Group)**:与文件关联的一组用户,通常由管理员分配。 - **其他人 (Others)**:既不是所有者也不是所属组成员的任何用户[^1]。 #### 查看文件权限 要查看某个文件的具体权限信息,可使用 `ls -l filename.txt -rw-r--r-- 1 user group 0 Jan 27 14:35 filename.txt ``` 上述输出中 `-rw-r--r--` 表示: - 第一位字符表示文件类型(此处为常规文件) - 接下来的三位代表所有者的权限 (`rw-`) - 再之后三位代表同组内其他人的权限 (`r--`) - 最后三位则对应于除前两者之外的人(`r--`) 的权限 #### 修改文件权限 通过 `chmod` 可更改现有文件上的权限位。此命令接受两种形式的参数输入——符号模式和八进制数值模式。 ##### 符号模式修改权限 允许增减指定角色对于目标对象拥有的某些利: ```bash # 添加所有人对 file.txt 的执行权限 $ chmod a+x file.txt # 移除除了所有者外任何人对 dir/ 下的内容列表浏览能力 $ chmod o-rwx,g-wx dir/ ``` ##### 数字方式设定权限 每种类型的权限可以用三个数字来表达,范围是从0到7: | Number | Permission | |--------|------------| | 0 | --- | | 1 | --x | | 2 | -w- | | 3 | -wx | | 4 | r-- | | 5 | r-x | | 6 | rw- | | 7 | rwx | 例如给定一个新文档设初始状态为只允许可不可改也不运行,则应为其赋予值 '4': ```bash $ touch newfile && chmod 400 newfile ``` #### 更改所有及群组归属 利用 `chown` 和 `chgrp` 工具能够调整文件或整个树状结构下的项目属性至新的主体身份或是群体分类下: ```bash # 将文件 ownership 改变给另一名用户 $ sudo chown anotheruser:newgroup some_file_or_directory/ # 单独改变某物隶属之团体名称而不影响其主人翁地位 $ sudo chgrp developers project_folder/ ``` #### 设置默认继承父级权限 为了简化管理和保持一致性,在创建子项时自动应用来自上级容器的安全策略是非常有用的特性之一。这可以通过设置特殊标志 Sticky Bit 或者是在 NFS 上启用 ACLs 实现更复杂的规则集[^2]: ```bash # 对 /path/to/dir 应用 sticky bit, 新建于此内的条目会保留原始创作者的身份作为个体占有者 $ chmod +t /path/to/dir ``` #### 用户密码变更实践 尽管这不是严格意义上的权限管理部分,但是了解如何安全有效地更新个人账户凭证也是至关重要的技能点。借助内置工具 `passwd`, 普通用户即可自行完成这项工作而无需求助超级管理员介入[^4]: ```bash # 更新当前登录账号的新口令 $ passwd Changing password for user. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值