linux權限詳解

寫在前面:

本博客詳解命令chmod,  chowm,  chgrp,  umask,  install,  mktemp 

權限管理:

進程文件訪問權限應用模型:

進程的屬主與文件屬主是否相同,如果相同,則應用屬主權限

否則,檢查文件的屬主是否屬于文件的屬組,如果是,則應用屬主權限

否則,應用other權限

 

文件權限的意義:

r:可獲取文件數據

w:可修改文件數據

x:可將此文件運行為進程

 

目錄權限的意義:

r:可使用ls獲取文件列表

w:可修改此目錄下文件列表,創建、刪除文件

x:cd至此目錄中,可以ls -l獲取文件詳細信息

注意:w不能隨便給,r,x一般都給

 

— 000  0;  –x 001  1;   -w- 010  2; r– 100  4

常用權限組合:

rw-rw-r– 664

rwxrwxr-x 775

rwxr-x— 750

rwxr-xr-x 755

 

三類用戶:

u:屬主

g:屬組

o:其它用戶

a: 所有用戶,包含u,go

 

chmod: – change file mode bits

(1)mode表示法:便于操作所有權限位rwx

賦值表示法u g o a

例:u=rwx,g=rw,o=r

a=775

ug=r,o=

 

[root@yph7 tmp]# ll -d /tmp/gentoo

d———. 2 flimmer breeze 27 Dec 13 18:31 /tmp/gentoo

[root@yph7 tmp]# chmod ug=rx,o= /tmp/gshadow

[root@yph7 tmp]# ll -d /tmp/gshadow

-r-xr-x—. 1 root root 1033 Dec 14 00:29 /tmp/gshadow

 

授權表示法:便于操作某一位權限

u+x,g+r,o+r

a+x

ug+rx,o-

 

[root@yph7 tmp]# chmod u-x,o+rx /tmp/gshadow

[root@yph7 tmp]# ll -d /tmp/gshadow

-r–r-xr-x. 1 root root 1033 Dec 14 00:29 /tmp/gshadow

 

(2)八進制表示法

chmod  775  /etc/text

 

–reference改成與某文件一樣

 chmod –reference=/tmp/txt /tmp/yum.1

[root@yph7 ~]# ll /tmp

-rw-r–r–. 1 breeze breeze   0 Dec 13 18:15 txt

-rwxrwxrwx. 1 root   root     0 Dec 13 03:08yum.1

[root@yph7 ~]# chmod –reference=/tmp/txt /tmp/yum.1

[root@yph7 ~]# ll /tmp

-rw-r–r–. 1 breeze breeze   0 Dec 13 18:15 txt

-rwxrwxrwx. 1 root   root     0 Dec 13 03:08yum.1

 

-R,–recursive:遞歸修改(一般只用+、法修改)

例:chmod -R g+r /tmp/sysconfig

 

[root@yph7 ~]# ll /tmp

drwxrwxrwx. 2 root   root     6 Dec 13 17:16gentoo

drwxrwxrwx. 2 root   root     6 Dec 12 20:06 ta

[root@yph7 ~]# ll -d /tmp

drwxrwxrwx. 10 root root 4096 Dec 13 18:15 /tmp

[root@yph7 ~]# chmod -R go-w /tmp

[root@yph7 ~]# ll -d /tmp

drwxr-xr-x. 10 root root 4096 Dec 13 18:15 /tmp

[root@yph7 ~]# ll /tmp

drwxr-xr-x. 2 root   root     6 Dec 13 17:16gentoo

drwxr-xr-x. 2 root   root     6 Dec 12 20:06 ta

 

chown:  – change file owner and group

 

修改文件的屬主

drwxr-xr-x. 8 root root 111 Dec 13 18:32 /tmp

[root@yph7 tmp]# chown breeze /tmp;ll -d /tmp

drwxr-xr-x. 8 breeze root 111 Dec 13 18:32 /tmp

 

修改文件屬主和組,"."也可換成冒號

[root@yph7 tmp]# chown flimmer.hadoop /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer hadoop 111 Dec 13 18:32 /tmp

修文件改的屬組

[root@yph7 tmp]# chown .stupid /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer stupid 111 Dec 13 18:32 /tmp

 

-R,–recursive:遞歸修改,連帶修改目錄里所有文件

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer hadoop 111 Dec 13 18:32 /tmp

[root@yph7 tmp]# ll /tmp

drwxr-xr-x. 2 root   root   27 Dec 13 18:31 gentoo

-rw-r–r–. 1 breeze breeze  0 Dec 13 18:15 txt

[root@yph7 tmp]# chown -R gentoo:apache /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 gentoo apache 111 Dec 13 18:32 /tmp

[root@yph7 tmp]# ll -R /tmp

/tmp:

total 0

drwxr-xr-x. 2 gentoo apache 27 Dec 13 18:31 gentoo

-rw-r–r–. 1 gentoo apache  0 Dec 13 18:15 txt

/tmp/gentoo:

total 0

-rw-r–r–. 1 gentoo apache 0 Dec 13 18:31 text

-rw-r–r–. 1 gentoo apache 0 Dec 13 18:31 yum

 

–reference:指定與某文件相同的相關屬性

[root@yph7 tmp]# chown -R –reference=/home/flimmer /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer flimmer 111 Dec 13 18:32 /tmp

[root@yph7 tmp]# ll /tmp

total 0

drwxr-xr-x. 2 flimmer flimmer 27 Dec 13 18:31 gentoo

-rw-r–r–. 1 flimmer flimmer  0 Dec 13 18:15 txt

 

chgrp: – change group ownership修改組

 

[root@yph7 tmp]# chgrp oracle1 /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer oracle1 111 Dec 13 18:32 /tmp

 

-R;–recursive:遞歸修改,連帶修改里面所有的目錄和文件

–reference:指定與某文件相同的相關屬性

 

[root@yph7 tmp]# chgrp -R –reference=/home/breeze /tmp

[root@yph7 tmp]# ll -d /tmp

drwxr-xr-x. 8 flimmer breeze 111 Dec 13 18:32 /tmp

[root@yph7 tmp]# ll /tmp

total 0

drwxr-xr-x. 2 flimmer breeze 27 Dec 13 18:31 gentoo

-rw-r–r–. 1 flimmer breeze  0 Dec 13 18:15 txt

 

注意:普通用戶僅可修改屬主為自己的文件的權限

[breeze@yph7 ~]$ ll

-rw-rw-r–. 1 breeze breeze 0 12 13 06:18 text

[breeze@yph7 ~]$ chmod 777 text;ll

總用量 0

-rwxrwxrwx. 1 breeze breeze 0 12 13 06:18 text

 

思考:用戶對目錄有寫權限,但對目錄下的文件沒有寫權限時,能否修改此文件內容?能否刪除此文件?

模擬之;

[root@yph7 tmp]# ll -d /tmp

drwxrwxrwt. 9 root root 4096 Dec 13 06:32 /tmp

[root@yph7 tmp]# chown root:root /tmp/yum.1

[root@yph7 tmp]# ll tmp/yum.1

-rwxr-xr-x. 1 root root 0 Dec 13 03:08 /tmp/yum.1

切換到breeze

[breeze@yph7 tmp]$ head -2 /etc/shells | tee /tmp/yum.1

tee: /tmp/yum.1: 權限不夠

/bin/sh

/bin/bash

[breeze@yph7 tmp]$ rm -rf /tmp/yum.1

rm: 無法刪除"/tmp/yum.1":不允許的操作

 這種情況下正常是可以刪除文件但不能修改文件的。但上面演示好像不順利,原因如下:

root設置下權限777就好了后來發現上面的的/tmp權限為t,不是x,這是特殊權限,用戶只能刪除自己的文件,而不能刪除其他人的

[root@yph7 tmp]# chmod 777 /tmp

 

[breeze@yph7 tmp]$ ll -d /tmp

drwxrwxrwx. 9 root root 4096 12 13 07:00 /tmp

[breeze@yph7 tmp]$ ll /tmp/yum.2

———-. 1 root root 19 12 13 07:00 /tmp/yum.2

[breeze@yph7 tmp]$ rm -rf /tmp/yum.2

[breeze@yph7 tmp]$ ll /tmp/yum.2

ls: 無法訪問/tmp/yum.2:沒有那個文件或目錄

umask:文件權限反向掩碼,遮罩碼

文件:666-umask

目錄:777-umask

 

注意:之所以文件用666去減,表示文件默認不能擁有執行權限,如果減得的結果中有執行權限,則需要加1

umask 023

666-023=644  rw–w–wx

777-023=754

對于文件:666rw-rw-rw-  023:—-w–wx   減后:rw-r–r–:644

umask命令:

umask:查看當前umask

umas kMASK:設置umask

 

[flimmer@yph7 ~]$ umask

0002

[flimmer@yph7 ~]$ umask 023;umask

0023

 

注意:此類設定僅對當前shell有效

 

練習:完成以下任務

1、新建系統組mariadb,新建系統用戶mariadb, 屬于mariadb組,要求其沒有家目錄,且shell/sbin/nologin;嘗試root切換至用戶,查看其命令提示符;

[root@yph7 tmp]# groupadd -r mariadb

[root@yph7 tmp]# tail -1 /etc/group

mariadb:x:991:

[root@yph7 tmp]# useradd -r -M -g mariadb -s /sbin/nologinmariadb

[root@yph7 tmp]# tail -1 /etc/passwd

mariadb:x:994:991::/home/mariadb:/sbin/nologin

[root@yph7 tmp]# id mariadb

uid=994(mariadb) gid=991(mariadb) groups=991(mariadb)

[root@yph7 tmp]# ls /home

bree    fedora   flivfox  hadoop   mageedu  mysql10  mysql3  mysql6  mysqle  slackware

breeze  flimmer  gentoo   magebird  mydql4  mysql2   mysql5  mysql8  oracle1

[root@yph7 tmp]# su – mariadb

su: warning: cannot change directory to /home/mariadb: No suchfile or directory

This account is currently not available.

如果組事先存在,添加與組同名的用戶默認添加不成功的

刪除用戶默認刪除基本組

2、新建GID5000的組mageedu,新建用戶gentoo,要求其家目錄為/users/gentoo,密碼同用戶名;

[root@yph7 tmp]# groupadd -g 5000 mageedu

groupadd: GID '5000' already exists

[root@yph7 tmp]# cat /etc/group

…….

distro:x:5000:

……..

[root@yph7 tmp]# groupmod -g 4006 distro  –>修改組id

[root@yph7 tmp]# groupadd -g 5000 mageedu

[root@yph7 tmp]# tail -1 /etc/group

mageedu:x:5000:

[root@yph7 tmp]# mkdir /users

[root@yph7 users]# useradd -d /users/gentoo gentoo

[root@yph7 users]# tail -1 /etc/passwd

gentoo:x:4006:5003::/users/gentoo:/bin/bash

[root@yph7 users]# echo "gentoo" | passwd –stdingentoo

Changing password for user gentoo.

 

3、新建用戶fedora,其家目錄為/users/fedora,密碼同用戶名;

[root@yph7 users]# useradd -d /users/fedora fedora

Creating mailbox file: File exists

[root@yph7 users]# tail -1 /etc/passwd

fedora:x:4007:4007::/users/fedora:/bin/bash

[root@yph7 users]# echo "fedora" | passwd –stdinfedora

Changing password for user fedora.

passwd: all authentication tokens updated successfully.

 

4、新建用戶www, 其家目錄為/users/www;刪除www用戶,但保留其家目錄;

[root@yph7 users]# useradd -d /users/www www

[root@yph7 users]# tail -1 /etc/passwd

www:x:4008:4008::/users/www:/bin/bash

[root@yph7 users]# userdel www;cd /users/www;pwd

/users/www

[root@yph7 www]# id www

id: www: no such user

 

5、為用戶gentoofedora新增附加組mageedu;

[root@yph7 www]# id -nG gentoo;id -nG fedora

gentoo

fedora

[root@yph7 www]# usermod -aG mageedu gentoo

[root@yph7 www]# usermod -aG mageedu fedora

[root@yph7 www]# id -nG gentoo;id -nG fedora

gentoo mageedu

fedora mageedu

 

6、復制目錄/var/log/tmp/目錄,修改/tmp/log及其內部的所有文件的屬組為mageedu,并讓屬組對目錄本身擁有寫權限;

[root@yph7 www]# cp -r /var/log /tmp/

[root@yph7 tmp]# chown -R  .mageedu /tmp/log

[root@yph7 tmp]# chmod g+w /tmp/log

[root@yph7 tmp]# ll -d /tmp/log

drwxrwxr-x. 14 root mageedu 4096 Dec 13 22:08 /tmp/log

 

 

install命令:copyfiles and set attributes復制文件并設置屬性(不能復制目錄)

 

-m,–mode=MODE:設定目標文件權限,默認755

[root@yph7 tmp]# install -m 632 /tmp/yum.log /tmp/yum ;ll

-rw–wx-w-. 1 root root   0 12 12 05:08 yum

-rw——-. 1 root root   0 12  8 19:08 yum.log

 

-o,–owner=OWNER:設定目標文件屬主

[root@yph7 tmp]# install -o flimmer /tmp/yum.log /tmp/yum.1 ;ll

-rwxr-xr-x. 1 flimmer root   0 12 12 05:16 yum.1

 

-g,–group=GROUP:設定目標文件屬組

[root@yph7 tmp]# install -g flimmer /tmp/yum.log /tmp/yum.2;ll

-rwxr-xr-x. 1 root    flimmer   0 12 12 05:19 yum.2

 

-d,–directory:創建目錄

[root@yph7 tmp]# install -d /tmp/config

 

mktemp create atemporary file or directory創建臨時文件或目錄(一段時間后會自動清除)

mktemp [OPTION]… [TEMPLATE]

[root@yph7 ~]# mktemp /tmp/a.XXXXXXXX

/tmp/a.L9fheln9

 

-d,–dirctory:創建臨時目錄,也要用x

[root@yph7 tmp]# mktemp -d /tmp/XXXXXXXX

/tmp/wf0txj7U

 

-u,–dry-run:虛擬創建文件,表面創建好了,其實沒有。測試服務器是否能正常運行

[root@yph7 tmp]# mktemp -u /tmp/config.XXXXXX

/tmp/config.DAObQW

[root@yph7 tmp]# ls   結果發現沒有這個文件

 

通過變量取隨機數

[root@yph7 ~]# myfile=$(basename `mktemp /tmp/XXXXXXXXX )

[root@yph7 ~]# echo "$myfile"

ja9FD8QSf

 

注意:會將創建的臨時文件名直接返回,可通過命令引用保存起來


原創文章,作者:flivfox,如若轉載,請注明出處:http://www.www58058.com/10175

(0)
flivfoxflivfox
上一篇 2015-12-19 19:20
下一篇 2015-12-19 19:35

相關推薦

  • httpd服務歸納:httpd基本配置(周邊常用工具,httpd 編譯安裝)

    一、 服務器status頁     內生的status信息,可以通過web予以顯示, 可以映射為url地址進行訪問     1. 配置路徑有幾種不同方式          如果URL可以映射…

    Linux干貨 2015-05-27
  • varnish原理及配置事例

    Varnish是一款高性能的開源HTTP加速器(其實就是帶緩存的反向代理服務),可以把http響應內容緩存到內存或文件中,從而提高web服務器響應速度。與傳統的 squid 相比,varnish 具有性能更高、速度更快、管理更加方便等諸多優點,很多大型的網站都開始嘗試使用 varnish 來替換 squid,這些都促進 varnish 迅速發展起來 Varn…

    Linux干貨 2015-12-06
  • Linux 第六天: (08月03日) Linux權限管理

    Linux 第六天: (08月03日) Linux權限管理         chown USER:GROUP FILE 變更文件或目錄所屬主chown -R 遞歸chown –reference=<> 參考 chgrp GROUP DIR(or FILE) 變更文件或目錄所屬組   &…

    Linux干貨 2016-08-08
  • Android必備的Java知識點

     Android應用程序開發是以Java語言為基礎的,所以需要有扎實的Java基礎知識。首先熟悉java基本語法,然后熟悉設計模式等。         a) Java基礎語法:看下面的《Java知識點列表》       b)設計模式:由于在Android系統的框架層當中,使用了大…

    Linux干貨 2015-04-08
  • Linux用戶和組管理常用命令

    Linux用戶和組管理常用命令 1、useradd:創建用戶   useradd [options] LOGIN     -u UID: [UID_MIN, UID_MAX]指定uid,(默認500|1000開頭)定義在/etc/login.defs     -o 配合-u 選項, 不檢查…

    Linux干貨 2017-04-04
  • 防火墻之iptables使用

    一、防火墻簡介           Firewall:防火墻,隔離工具;工作于主機或網絡邊緣,對于進出本主機或本網絡的報文根據事先定義的檢查規則作匹配檢測,對于能夠被規則匹配到的報文作出相應處理的組件;        軟件防火墻(軟件邏輯):一般寄生在操作系統…

    2017-06-18

評論列表(1條)

  • stanley
    stanley 2015-12-19 19:27

    樣式太亂了,留不住看客哦。

欧美性久久久久