8.3_Linux習題和作業

課堂習題

1.當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作?

答:不能cd進該目錄

2.當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作?

答:不能查看目錄內的文件列表,不能cd,也不能查看目錄里面文件的元數據

3.當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除?

答:不能修改不能刪除

4.復制/etc/fstab文件到/var/tmp下,設置文件所有者為wangcai讀寫權限,所屬組為sysadmins組有讀寫權限,其他人無權限

[root@centos6 ~]# cp -r /etc/fstab /var/tmp/
[root@centos6 ~]# chown wangcai:sysadmins /var/tmp/fstab
[root@centos6 ~]# chmod g=rw,o= /var/tmp/fsta

5.誤刪除了用戶wangcai的家目錄,請重建并恢復該用戶家目錄及相應的權限屬性

[root@centos6 ~]# rm -rf /home/wangcai
[root@centos6 ~]# mkdir /home/wangcai
[root@centos6 ~]# cp -r /etc/skel/. /home/wangcai/
[root@centos6 ~]# chown -R wangcai: /home/wangcai/
[root@centos6 ~]# chmod 700 /home/wangcai/

6.創建sysadmins組,將用戶user1,user2,user3加入sysadmins組中,將user3設置為sysadmins的管理員,用user3 登錄,將user2從組中移除,設置 sysadmins的密碼centos,設置user1 在創建新文件時,文件的所屬組為sysadmins,刪除user1…3,刪除sysadmins

[root@centos ~]# groupadd sysadmins
[root@centos ~]# useradd -G sysadmins user1
[root@centos ~]# useradd -G sysadmins user2
[root@centos ~]# useradd -G sysadmins user3
[root@centos ~]# gpasswd -A user3 sysadmins
[user3@centos ~]$ gpasswd -d user2 sysadmins
Removing user user2 from group sysadmins
 
[user3@centos ~]$ gpasswd sysadmins
Changing the password for group sysadmins
New Password: 
Re-enter new password:
 
[root@centos ~]# usermod -g sysadmins user1
 
[user1@centos ~]$ touch a
[user1@centos ~]$ ll a
-rw-r--r--. 1 user1 sysadmins 0 Aug  4 12:31 a
 
[root@centos ~]# userdel -r user1
userdel: group user1 not removed because it is not the primary group of user user1.
[root@centos ~]# userdel -r user2
[root@centos ~]# userdel -r user3
[root@centos ~]# groupdel sysadmins

7.在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。

[root@centos ~]# useradd alice
[root@centos ~]# mkdir /data/testdir
[root@centos ~]# groupadd g1
[root@centos ~]# groupadd g2
[root@centos ~]# groupadd g3
[root@centos ~]# chgrp g1 /data/testdir
[root@centos ~]# chmod 2770 /data/testdir
[root@centos ~]# setfacl -m g:g2:rw /data/testdir
[root@centos ~]# setfacl -m g:g3:rw /data/testdir
[root@centos ~]# setfacl -m d:g:g2:rw /data/testdir
[root@centos ~]# setfacl -m d:g:g3:r /data/testdir
[root@centos ~]# gpasswd -a tom g2
[tom@centos ~]$  touch f /data/testdir
[root@centos ~]# ll /data/testdir

作業

1.三種權限rwx對文件和目錄的不同意義


權限對于文件的意義:

r: 可使用文件查看類工具獲取其內容

w: 可修改內容,可破壞內容,但不能刪除文件本身

x: 針對二進制可執行的程序或腳本,可以把此文件提請內核啟動為一個進程,普通文件不需要執行權限

權限對于目錄的意義:

r: 可以使用ls命令查看目錄內容的文件信息

w: 可以創建、刪除文件

x: 可以使用ls -l命令來查看目錄內容的文件信息,并且可以使用cd命令切換此目錄為工作目錄

2.umask和acl mask 的區別和聯系

區別:

(1)umask備份數據的時候,權限不會丟失,facl就會丟失

(2)umask對于批量對其他用戶和組的設置比較方便,但是對個人設置權限就不行

     facl對于批量設置對其他用戶設置比較麻煩,但是對個人或者個別人設置就很靈活

(3)umask能通過augo的模型、rwx模型、和八進制的模型來設置權限,facl只能通過rwx模型來設置權限

聯系:

(1)都能通過一定的規則來限制其他用戶的默認權限

(2)都能限制用戶和組的權限

3.三種特殊權限的應用場景和作用

SUID:

當一個用戶去運行該程序的時候,該用戶繼承所有者的權限。SUID只能應用在二進制程序里面,不能作用在目錄上面

SGID:

(1)如果應用在二進制程序里面,啟動為進程之后,其進程的屬主為原程序文件的屬組,這種情況跟SUID功能類似(2)如果應用在目錄里面,所有用戶在此目錄下面創建的文件(包括子目錄)的時候的屬組跟目錄的屬組一致。此作用通常用于創建一個協作目錄。

STICKY 粘滯位:

具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權,在目錄設置Sticky位,只有文件的所有者或root可以刪除該文件。STICKY位作用在文件上面的話沒有用。

SUID,SGID,和STICKY都必須要配合有x的權限的。

4.設置user1,使之新建文件權限為rw – – – – – – –

[user1@centos ~]$ echo 'umask 0266' >> .bashrc
[user1@centos ~]$ exit

[user1@centos ~]$ touch b
[user1@centos ~]$ ll
total 0
-rw-------. 1 user1 user1 0 Aug  4 23:53 b

5.設置/testdir/f1的權限,使user1用戶不可以讀寫執行,g1組可以讀寫

/testdir/dir的權限,使新建文件自動具有acl權限:user1:rw,g1:—

備份/testdir目錄中所有文件的ACL,清除/testdir的所有ACL權限,并利用備份還原

[root@centos testdir]# setfacl -m u:user1:r f1
[root@centos testdir]# setfacl -m g:g1:rw f1
[root@centos testdir]# getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:user1:r--
group::r--
group:g1:rw-
mask::rw-
other::r--
[root@centos testdir]# setfacl -m d:u:user1:rw /testdir/dir/
[root@centos testdir]# setfacl -m d:g:g1:--- /testdir/dir
[root@centos testdir]# getfacl /testdir/dir
getfacl: Removing leading '/' from absolute path names
# file: testdir/dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:user1:rw-
default:group::r-x
default:group:g1:---
default:mask::rwx
default:other::r-x
[root@centos testdir]# getfacl -R * > /root/acl.bak
[root@centos testdir]# setfacl -Rb *
[root@centos testdir]# setfacl -R --set-file=/root/acl.bak *

原創文章,作者:~微風~,如若轉載,請注明出處:http://www.www58058.com/29299

(0)
~微風~~微風~
上一篇 2016-08-05
下一篇 2016-08-05

相關推薦

  • 簡單的bash腳本查看任意網段的在線主機

    一前言         最近看到許多同志在寫ping某個地址段的bash腳本,我也心血來潮來了一發。  當然本人新手,大神勿噴。 二準備工作           linux系統的機…

    2017-03-02
  • 路徑操作&StringIO/BytesIO

    Edit 路徑操作&StringIO/BytesIO 路徑操作 路徑操作模塊: 3.4版本以前os.path模塊 In [1]: from os import path In [2]: p = path.join(‘/etc’,’sysconfig’,’network’)#將字符…

    Linux干貨 2017-10-30
  • 關于大型網站技術演進的思考(三):存儲的瓶頸(3)

    原文出處: 夏天的森林    存儲的瓶頸寫到現在就要進入到深水區了,如果我們所做的網站已經到了做數據庫垂直拆分和水平拆分的階段,那么此時我們所面臨的技術難度的挑戰也會大大增強。 這里我們先回顧下數據庫的垂直拆分和水平拆分的定義: 垂直拆分:把一個數據庫中不同業務單元的數據分到不同的數據庫里。 水平拆分:是根據一定的規則把同一業務…

    Linux干貨 2015-03-03
  • 磁盤文件掛載與卸載

    掛載(mount)何為掛載?掛載指將文件系統與根文件系統的某個現存的目錄建立起來的關聯關系,這樣我們就可以將目錄作為訪問磁盤文件的入口,進行存取交互。掛載點:掛載點指的是被掛載的對象,通常掛載點是一個目錄,不過有時候也有文件作為掛載點格式:mount 設備 掛載點 ;此掛載方法味臨時掛載,只在當前的shell中有效,退出則清除掛載關聯設備文件在/dev/sd…

    Linux干貨 2017-04-24
  • shell– 腳本編程

    編程基礎 腳本基本格式 變量 運算 條件測試 流程控制 函數 數組 高級字符串操作 高級變量 配置用戶環境 編程基礎 程序:指令+數據 程序編程風格:     過程式:以指令為中心,數據服務于指令     對象式:以數據為中心,指令服務于數據 shell程序:提供了編程能力,解釋…

    Linux干貨 2016-08-21
  • LAMP基于編譯安裝方式實現(httpd與php以fastcgi方式結合)3

    概述     在某些現有rpm包不能滿足需求的時候,可能需要編譯安裝LAMP環境,本篇就介紹下php與httpd結合方式為fastcgi方式結合時的編譯安裝,同時,由于httpd與php以module方式結合時,僅是編譯選項有所差別,故也會簡單說明下編譯選項的差異 環境     CentOS7系統,…

    Linux干貨 2016-10-17
欧美性久久久久