自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

活用三種權限 理解Samba的權限控制

原創(chuàng)
系統(tǒng) Linux
Samba服務器由于其權限控制的高度靈活性而被廣泛應用。之前我們已經(jīng)介紹了Samba服務器一些入門和基本的更換用戶、端口監(jiān)聽、列表控制等技巧,今天這篇文章將會著重介紹Samba服務器中如何靈活利用Suid、Sgid、Sticky三種權限的作用,更方便的理解samba的權限控制。

【51CTO獨家特稿】在企業(yè)內(nèi)網(wǎng)開發(fā)環(huán)境方面,文件服務器是一個非常重要的環(huán)節(jié)。在這當中,Samba服務器由于其權限控制的高度靈活性,在這里撫琴煮酒會進行一些列詳細的說明。之前我們已經(jīng)介紹了Samba服務器一些入門和基本的更換用戶、端口監(jiān)聽、列表控制等技巧,今天這篇文章將會著重介紹Samba服務器中如何靈活利用Suid、Sgid、Sticky三種權限的作用。

作者簡介:余洪春(博客),網(wǎng)名撫琴煮酒,英文名Andrew.Yu,武漢某外企高級Linux/Unix系統(tǒng)管理員、項目實施工程師,紅帽RHCE講師,擅長負載均衡高可用和中小型證券類和商務網(wǎng)站架構,目前關注網(wǎng)站架構研究及網(wǎng)絡安全。

很多人都很奇怪,為什么我們需要學習這三種權限?在實際工作中我們發(fā)現(xiàn),這些特殊權限讓Linux的權限理解,尤其是samba顯得極為困難,但又的確有使用的必要。本文試圖用淺顯的講解,讓大家能充分理解這三種權限的作用。理解了它們,就可以更方便的理解samba的權限控制。 

首先需要提醒大家注意的是,samba的權限由兩方面構成:一是目錄本身的權限,二是samba的配置權限。最終權限定義是兩者的最小交集。

OK,我們接著來理解這三種權限: 

  1. 一個文件都有一個所有者,表示該文件是誰創(chuàng)建的。
  2. 同時,該文件還有一個組編號,表示該文件所屬的組,一般為文件所有者所屬的組。
  3. 如果是一個可執(zhí)行文件,那么在執(zhí)行時,一般該文件只擁有調(diào)用該文件的用戶具有的權限。

權限標志通過三個“位”來定義,分別是:

  1. setuid:設置使文件在執(zhí)行階段具有文件所有者的權限。比如/usr/bin/passwd,如果一般用戶執(zhí)行該文件,則在執(zhí)行過程中,該文件可以獲得root權限,從而可以更改用戶的密碼。 
  2. setgid:該權限只對目錄有效。目錄被設置該位后,任何用戶在此目錄下創(chuàng)建的文件都具有和該目錄所屬的組相同的組。 
  3. sticky bit:該位可以理解為防刪除位。 一個文件是否可以被某用戶刪除,主要取決于該文件所屬的組是否對該用戶具有寫權限。如果沒有寫權限,則這個目錄下的所有文件都不能被刪除,同時也不能添加新的文件。 如果希望用戶能夠添加文件但同時不能刪除文件,則可以對文件使用sticky bit位。設置該位后,就算用戶對目錄具有寫權限也不能刪除該文件。 

三個權限的特點

Sticky(范例:/tmp目錄)

①sticky只能應用在目錄上,并且是應用在其它人上。

②只有root和文件的擁有人才能刪除該文件。

③小寫表示能執(zhí)行,大寫表示不能執(zhí)行 

Suid(范例:/usr/bin/passwd目錄)

①suid只能應用在二進制文件中

②當一個文件應用了suid,那么任何人在執(zhí)行該命令的時候他就臨時擁有該文件擁有人的權限

③suid只能應用在文件的擁有人上

④小寫表示能執(zhí)行,大寫表示不能執(zhí)行 

Sgid(應用環(huán)境為用于一組開發(fā)人員共用資源,保證安全)

①sgid既可以應用在文件上,也可以應用在目錄上

②當sgid應用在目錄上時,任何人在該目錄中建立健全的文件和目錄的擁有者屬于目錄所屬組

③應用在擁有組上

④sgid應用在文件上時,任何人在執(zhí)行該文件時,臨時擁有該文件所屬組權限

⑤小寫表示可執(zhí)行,大寫反之。 

如何操作這些標志

操作這些標志與操作文件權限的命令是一樣的, 都是 chmod。有兩種方法來操作:

① chmod u+s temp -- 為temp文件加上setuid標志。 (setuid 只對文件有效)

chmod g+s tempdir -- 為tempdir目錄加上setgid標志 (setgid 對目錄和文件有效)

chmod o+t temp   -- 為temp文件加上sticky標志 (sticky只對文件有效) 

② 采用八進制方式。對一般文件通過三組八進制數(shù)字來置標志,如 666,777,644等。如果設置這些特殊標志,則在這組數(shù)字之外外加一組八進制數(shù)字,如4666,2777等。這一組八進制數(shù)字三位的意義如下,

abc

a - setuid位。如果該位為1,則表示設置setuid

b - setgid位。如果該位為1,則表示設置setgid

c - sticky位。如果該位為1,則表示設置sticky

我習慣用第一種方法來做,但許多時候文件的權限表示都是用數(shù)字為執(zhí)行;所以,建議兩種方法都要掌握熟悉。

設置完這些標志后, 可以用 ls -l 來查看。 如果有這些標志,則會在原來的執(zhí)行標志位置上顯示。 如

rwsrw-r-- 表示有setuid標志

rwxrwsrw- 表示有setgid標志

rwxrw-rwt 表示有sticky標志

那么原來的執(zhí)行標志x到哪里去了呢?系統(tǒng)是這樣規(guī)定的,如果本來在該位上有x,則這些特殊標志顯示為小寫字母 (s, s, t)。否則, 顯示為大寫字母 (S, S, T) 

這三個權限的數(shù)字位可以這么理解,這是我的理解和記憶參考法,僅供大家參考學習

[root@server3 test]# 1 1 1
[root@server3 test]# rws rws rwt
[root@server3 test]#
[root@server3 test]# SUID SGID Sticky 

所以,可以得出

chmod 4777是設sid

chmod 2777是設置gid

chmod 1777是設sticky 

最后,介紹兩個常用操作。

常用操作

找出所有危險的目錄(設置目錄所有人可讀寫卻沒有設置sticky位的目錄)

find / -perm -0007 -type d

找出所有設置了suid的文件

find / -perm -4000 -type f

【編輯推薦】

  1. Samba服務器簡介與快速配置指南
  2. Samba實用技巧:更換用戶、端口監(jiān)聽、列表控制
  3. 使用GFS和DRBD在CentOS 5.5上進行Samba CTDB集群部署
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-11-13 09:39:48

2022-08-30 08:36:13

Spring權限控制

2011-03-03 11:13:11

Pureftpd

2011-03-03 15:02:22

proftpd權限

2020-06-17 08:31:10

權限控制Spring Secu

2021-07-27 10:49:10

SpringSecurity權限

2024-04-25 12:49:22

2023-11-02 09:03:24

權限管理系統(tǒng)

2011-01-18 15:35:59

jQueryJavaScriptweb

2024-01-19 12:49:00

Linux文件權限權限類型

2024-10-17 09:14:24

RBAC模型管理

2009-07-02 09:28:07

Hibernate三種

2010-09-24 19:18:22

SQL索引

2011-04-11 16:48:12

Solaris權限

2018-03-28 16:10:23

閱讀源碼境界

2012-07-17 09:16:16

SpringSSH

2015-09-14 09:31:44

結對設計

2013-04-01 09:55:03

OpenStack存儲

2022-07-06 07:44:50

貝葉斯數(shù)據(jù)技術

2010-06-02 09:58:53

SVN權限控制
點贊
收藏

51CTO技術棧公眾號