Linux中samba的權限詳解,活用三種權限 理解Samba的權限控制

在企業內網開發環境方面,文件服務器是一個非常重要的環節。在這當中,Samba服務器由于其權限控制的高度靈活性,在這里撫琴煮酒會進行一些列詳細的說明。之前我們已經介紹了Samba服務器一些入門和基本的更換用戶、端口監聽、列表控制等技巧,今天這篇文章將會著重介紹Samba服務器中如何靈活利用Suid、Sgid、Sticky三種權限的作用。

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

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

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

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

一個文件都有一個所有者,表示該文件是誰創建的。

同時,該文件還有一個組編號,表示該文件所屬的組,一般為文件所有者所屬的組。

如果是一個可執行文件,那么在執行時,一般該文件只擁有調用該文件的用戶具有的權限。

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

setuid:設置使文件在執行階段具有文件所有者的權限。比如/usr/bin/passwd,如果一般用戶執行該文件,則在執行過程中,該文件可以獲得root權限,從而可以更改用戶的密碼。

setgid:該權限只對目錄有效。目錄被設置該位后,任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組。

sticky bit:該位可以理解為防刪除位。 一個文件是否可以被某用戶刪除,主要取決于該文件所屬的組是否對該用戶具有寫權限。如果沒有寫權限,則這個目錄下的所有文件都不能被刪除,同時也不能添加新的文件。 如果希望用戶能夠添加文件但同時不能刪除文件,則可以對文件使用sticky bit位。設置該位后,就算用戶對目錄具有寫權限也不能刪除該文件。

三個權限的特點

Sticky(范例:/tmp目錄)

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

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

③小寫表示能執行,大寫表示不能執行

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

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

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

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

④小寫表示能執行,大寫表示不能執行

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

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

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

③應用在擁有組上

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

⑤小寫表示可執行,大寫反之。

如何操作這些標志

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

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

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

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

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

abc

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

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

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

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

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

rwsrw-r-- 表示有setuid標志

rwxrwsrw- 表示有setgid標志

rwxrw-rwt 表示有sticky標志

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

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

[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

本文來源:51CTO

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458946.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458946.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458946.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安卓基礎01

安卓基礎01SDK System images 這是在創建模擬器時需要的system image,也就是在創建模擬器時CPU/ABI項需要選擇的,下載并解壓后,將解壓出的整個文件夾復制或者移動到 your sdk 路徑/system-images文件夾下即可, 如果沒有 system-im…

C++存儲區域基礎概念詳解

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 以下詳解來自: http://blog.163.com/zb_075/blog/static/3734032820115110…

創建、修改、刪除表總結

一、創建表 CREATE TABLE <表名> &#xff08;<列名><數據類型>[列級完整性約束條件] [&#xff0c;<列名> <數據類型>[列級完整性約束條件]] … [&#xff0c;表級完整性約束條件]&#xff09;&#xff1b; 如果完整性約束條件涉及到該表的多個…

linux 編譯查看鏈接庫詳情,Linux環境下的編譯,鏈接與庫的使用

鏈接參數控制鏈接器中提供了-dn -dy 參數來控制使用的是動態庫還是靜態庫&#xff0c;-dn表示后面使用的是靜態庫&#xff0c;-dy表示使用的是動態庫例:g -Lpath -Wl,-dn -lx -Wl,-dy -lpthread 這樣如果在path路徑下有libx.so和libx.a這個時候只會用到 libx.a.注意在最后的地…

在C++中用虛函數的作用是什么? 為什么要用到虛函數?

***************************************************更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com***************************************************虛函數聯系到多態&#xff0c;多態聯系到繼承。所以本文中都是在繼承層次上做文章。沒了繼…

mysql 主主互備實現

今天星期天&#xff0c;么事就寫個MYSQL的主主架構的博客&#xff0c;原理如下圖&#xff0c;不是我畫的網上找的。主機作用操作系統mysql版本對應IPvip數據庫mysqlA(主)centos6.4mysql 5.5.48192.168.48.129192.168.48.126mysqlB(備)centos6.4mysql 5.5.48192.168.48.132一&am…

Linux Deepin 版本大全,Deepin下載-Deepin linuxv20.0 官方版下載-6188手游網

Deepin linux安裝準備一&#xff1a;為 Deepin 留出硬盤空間以便安裝。1.打開磁盤管理(Windows 徽標上右鍵單擊&#xff0c;選擇磁盤管理)。2.選中一個分區(空閑空間大于 30G)&#xff0c;我選擇的是 C 盤&#xff0c;因為是固態硬盤所以安裝啟動會快很多。磁盤 1 的 200G 分區…

動手實踐 Linux VLAN - 每天5分鐘玩轉 OpenStack(13)

本節我們來看如何在實驗環境中實施和配置如下 VLAN 網絡 配置 VLAN 編輯 /etc/network/interfaces&#xff0c;配置 eth0.10、brvlan10、eth0.20 和 brvlan20。 下面用 vmdiff 展示了對 /etc/network/interfaces 的修改 重啟宿主機&#xff0c;ifconfig 各個網絡接口 用 brct…

Socket的3次握手鏈接與4次斷開握手

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 連接握手&#xff1a; 1.客戶端發送建立連接請求 &#xff08;發送請求&#xff09;2.…

Linux桌面需要強制訪問控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 進行強制訪問控制...

RHCSA 認證&#xff1a;SELinux 精要和控制文件系統的訪問盡管作為第一級別的權限和訪問控制機制是必要的&#xff0c;但它們同樣有一些局限&#xff0c;而這些局限則可以由安全增強 Linux(Security Enhanced Linux&#xff0c;簡稱為 SELinux)來處理。這些局限的一種情形是&am…

使用canvas實現擦玻璃效果

體驗效果:http://hovertree.com/texiao/html5/25/效果圖&#xff1a;代碼如下&#xff1a; <!DOCTYPE html> <html> <head lang"zh"> <meta name"viewport" content"initial-scale1.0, maximum-scale1.0, user-scalableno, widt…

如何計算時間復雜度

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 求解算法的時間復雜度的具體步驟是&#xff1a; ⑴ 找出算法中的基本語句&#xff1b;…

linux顯示系統信息軟件下載,linux查看系統信息軟件安裝信息命令學習筆記

查看LINUX安裝版本[rootlocalhost etc]# unameLinux[rootlocalhost etc]# uname -aLinux localhost.localdomain 2.6.32-279.11.1.el6.i686 #1 SMP Tue Oct 16 14:40:53 UTC 2012 i686 i686 i386 GNU/Linux[rootlocalhost etc]# cat /proc/versionLinux version 2.6.32-279.11.…

Bzoj 2662: [BeiJing wc2012]凍結 dijkstra,堆,分層圖,最短路

2662: [BeiJing wc2012]凍結 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 647 Solved: 348[Submit][Status][Discuss]Description “我要成為魔法少女&#xff01;” “那么&#xff0c;以靈魂為代價&#xff0c;你希望得到什么&#xff1f;” “我要將有關魔法和奇…

[轉]opencv學習資料

轉自&#xff1a;http://blog.csdn.net/poem_qianmo/article/details/20537737 1&#xff1a;Mat imread(const string& filename, intflags1 ); eg: Mat image0imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//載入最真實的圖像 ge1i…

linux servlet 亂碼問題,Servlet一次亂碼排查后的總結

由來在寫一個小小的表單提交功能的時候&#xff0c;出現了亂碼&#xff0c;很奇怪request上來的參數全部是亂碼&#xff0c;而從數據庫查詢出來的中文顯示到頁面正常&#xff0c;鎖定肯定是request對象那里出了問題。后來經過排查&#xff0c;發現是我封裝的框架中出了問題&…

C/C++回調函數

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 對于很多初學者來說&#xff0c;往往覺得回調函數很神秘&#xff0c;很想知道回調函數…

Linux 命令[2]:mkdir

make directories mkdir -p [目錄名] -p 遞歸創建 [rootlocalhost ~]# mkdir -p test [rootlocalhost ~]# ls anaconda-ks.cfg install.log install.log.syslog test 當然只創建一個目錄 -p 是可以省略的 注&#xff1a;如果創建多級目錄沒有 -p 會報錯 如&#xff1a; [roo…

jQuery動態設置樣式List item

前段時間&#xff0c;Insus.NET有修改一個功能《激活當前視圖菜單高亮呈現》http://www.cnblogs.com/insus/p/5287093.html 今天Insus.NET想改用另外一個方法來實現&#xff0c;使用jQuery。在ASP.NET MVC 環境實現&#xff1a; 代碼&#xff1a; <ul><li><a hr…

linux telnet 權限,允許telnet 通過root用戶進行訪問

允許telnet 通過root用戶進行訪問RHEL6:[rootclovem ~]# yum install telnet-server -y //安裝telnet服務端[rootclovem ~]# cat /etc/xinetd.d/telnet //開啟telnet的托管服務# default: on# description: The telnet server serves telnet sessions; it uses \#unencrypt…