20160802學習筆記

useradd相關補充:

     1.新建一個用戶創建時的一些默認權限在/etc/default/useradd配置中

     2.新建用戶家目錄的過程實際就是將/etc/skel中的所有文件,拷貝到新建用戶的/home下,并更改為改用戶的用戶名

     3.批量新建用戶:newusers

    例:先創建一個文本文檔,寫入要創建于passwd格式相同的文件

        1,vim users.txt

        用戶名:密碼:uid:gid:描述信息:家目錄:shell

        user1:x:501:501::/home/user1:/bin/bash

        user2:x:502:502::/home/user2:/bin/bash

        2,  newusers users.txt

           批量修改用戶密碼

           1,vim passwd.txt

                user1:user1

                user2:user2

           2, cat passwd.txt | chpasswd

    4.還有其他的一些默認配置在/etc/login.defs

用戶屬性的一些修改:

    1.usermod:修改用戶

        -u: 修改uid

        -g:修改gid

        -G:修改用戶的附加組(特別注意,當追加用戶的附加組時,要配合a選項,否則直接覆蓋用戶的附加組)

        -s:修改用戶的shell類型

        -d:修改家目錄的位置(當新的家目錄不存在時,-d選項不會自動創建,要加-m選項,自動創建家目錄, 并將原有家目錄下的文件移動到新的家目錄中)

        -L:鎖定用戶

        -U:解鎖用戶

        -e:指定用戶過期日期 時間日期的格式是2000-10-10

        -f:修改用戶寬限時間

            例:修改user1用戶的一些相關信息

                usermod -u 600 -g 600 -Ga(追加附加組) user2 -s /bin/csh -dm /tmp/user2

                查看用戶有幾個附加組用groups

                清空所以附加組:usermod -G "" user1

                擴展技巧:拷貝/etc/skel下的所有目錄來恢復家目錄

                cp -r /etc/skel/. /tmp/user1

    2.userdel:刪除用戶

        -r:刪除家目錄

        注意:當刪除用戶時,也會同時刪除這個用戶的屬組,當這個用戶的屬組是其他用戶的附加組時,這個用戶的屬組不能被刪除

    3.id:顯示用戶關于id的一些信息

        -u:顯示用戶id號

        -n:顯示用戶名(要配合-u使用,顯示用戶名)

        -g:顯示組id號(同樣要配合-u使用,顯示組名)

        -G:顯示附加組

    4.su:切換用戶

        su 用戶名:不讀取用戶的配置信息,切換后保存原有目錄不變

        su – 用戶名:完全切換

        -c:用其他用戶執行一條命令時,用-c 例 su – user1 -c 'pwck'

    5.設置口令:passwd

        -l:鎖定用戶

        -u:解鎖用戶    當用戶密碼為空時,解鎖用戶默認不允許解鎖,要用-f選項強制解鎖

        -e:強制用戶下次登錄時修改口令

        -n:設置最短修改時間

        -x:設置最長修改時間

        -w:設置警告時間

        -i:設置寬限時間

        –stdin:標準輸入    例:echo 1234 | passwd –stdin user1

也可以用 echo user1:1234 | chpasswd 修改口令

    6 chage:修改密碼策略

        -E:最長密碼有效期

        -m:最短修改時間

        -M:最長修改時間

        -I:設置寬限時間

        -W:警告時間

         可以不加任何選項,以交互的方式修改

          chage user1

     其他命令擴展:

     chfn:修改usermod 修改的是(useradd -c 說明信息)

     chsh:修改shell

     finger 指定格式修改用戶說明信息

組:

     1.groupadd:創建組

       groupadd+選項+組名

          -r:創建系統組

          -g:指明gid

         groups + 用戶:查看用戶屬于哪個組

      2.groupmems:查看組信息(修改輔助組)

         groupmems -l -g 組名

          -a:追加用戶(需要有-g選項)   例 groupmems -a user1(用戶名) -g group2(組名)

     也可以用id+用戶名看附加組信息

     3.groupmod:修改組信息

          -g:修改組id

          -n:修改組名

     4.groupdel:刪除組 groupdel + 組名

     5.gpasswd:更改組密碼

     gpasswd + 組名 (修改方式是交互式的)

         -a:添加用戶到組 gpassed -a user1(用戶) group1(組)

          -d:刪除組內一個用戶

          -A:將用戶設置為管理員 gpasswd -A user group1

    

文件權限:

    1.文件的權限主要有3個對象

        a.屬主

        b.屬組

        c.其他用戶

    2.每個對象對應的權限:

        r w x

      d        rwx        r-x        r-x. 2       root    root       6 Jul 21 11:40 Desktop

    文件類型 屬主的權限  屬組的權限  其他用戶權限   屬主    屬組

    3.chown:修改文件的屬主

    chown 屬主 文件名

    也可以同時修改屬主屬組:[chown 屬主:屬組 文件名]   chown user1:group1 file1

        -R:表示遞歸修改

    補充:chown user1: file1 說明:這條命令表示將file1文件的屬主屬組同時改成user1

         chown :group1 file1         這條命令表示將file1文件的屬組改成group1,屬主不變

    4.chgrp:修改文件的屬組

        -R:遞歸

        chgrp group1 file1

    5.chmod:修改文件權限

        1.授權修改:

            chmod u=.. ,g=.. ,o=.. file1

            chmod u+.. ,g+.. ,o+.. file1

            或者chmod a=.. or a+.. file1

            (..用rwx代替)

        2.數值修改

            chmod 777 file1

        3.參考修改

            chmod –reference=file2 file1

    6.文件的權限

        r: 可以ls

        x:可以cd 讀cat目錄內文件內容

        w:配合x能刪能創建

        遞歸給權限時X可以只給文件夾x權限,不給文件夾內文件的x權限

        用數字表示權限

        rwx:111 rw-:110等

    7.補充說明:

        a.只有root可以修改文件的屬主,即使是文件的屬主也不能修改文件屬主

        b.chgrp 文件的屬組可以在屬主的附加組內轉換

umask:

     1.umask:這條命令可以查看默認umask值

         對于目錄:可以理解成777-umask值=新建目錄的默認權限

         對于文件:可以理解成667-umask值=新建文件的默認權限

         因為linux默認對文件沒有執行權限

         本質:從最大權限屏蔽掉權限問得出最后權限

          應該是權限位相減,對于文件來說如果原來沒有執行權限,那么即使umask為奇數,也不減執行x的權限位

     2.默認值:

          umask + 屏蔽權限位

          例 umask 002

          以上這種寫法只是臨時有效

          修改.bashrc 可以永久有效,修改后不會立即生效,執行. .bashrc,立即生效

          對于root用戶來說,默認的umask=022

          對于其他用戶來說,默認的umask=002

          在/etc/profile和/etc/bashrc文件中定義的

          -p:顯示umask值

          return:umask 022

          實際用法:umask -p >> ~/.bashrc 

文件的特殊權限:

     1.suid:表示其他用戶可以臨時擁有[二進制文件]屬主的執行權限 ,在屬主的權限位的x位變成s位

          chmod u+s file1

          實例:/bin/passwd

          擁有suid的文件要特別小心,它可以讓其它用戶擁有二進制文件的屬主的權限

     2.sgid:表示其他用戶臨時繼承擁有了[二進制文件或者目錄]的組的權限,在屬組的權限位的x變成s

          chmod g+s file1

          實例:對于目錄來說有2個用戶屬于目錄的屬組,那么他們所建立的文件的屬組變為他們所在目錄的屬組

          例:drwxrwsrwx user1 group1 dir1

          user2和user3都屬于group1那么他們所建立的文件的屬組都為group1

          若是other其他用戶,那么需要看other是否又權限,如果有,那么他們所建的文件的屬組依然是group1

     3.sticky:只能作用在目錄上,鎖定目錄內的其他用戶所建文件不被刪除

          實例:/tmp/目錄

文件的特殊屬性:

     1. chattr:

          +i:不能被刪除改名,和修改 chattr +i file1

          +a:只可以增加,不能刪除 chattr +a file1

     2.lsattr:查看文件的特定屬性

ACL訪問控制列表:

     1.setfacl:setfacl + 選項 + u/g/o : 用戶名、組名 : 權限 + 文件

         -m:增加

             setfacl -m u:user1:rw file1

         -x:刪除權限

              setfacl -x u:user1 file1

         -b:清空所有acl權限

              setfacl -b file1

          -R:遞歸

              setfacl -Rm g:group1:rwX dir1

          -M:調用已經寫好的文件的acl

              1.echo “u:user1:rw” > acl.txt

              2.setfacl -M acl.txt file1

          -X:減去調用的文件

              u前面加d

              setfacl -m d:u:user1:rw dir1

              表示在dir1 這個目錄下用戶user1所創建的文件默認有rw權限

     2.mask:限制除所有者和other外的人

          包括用acl允許的用戶、組和文件本身的屬組

          setfacl -m mask::rw file1

作業:

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

cp /etc/fstab /var/tmp/

useradd wangcai

groupadd sysadmins

chown wangcai:sysadmins /var/tmp/fstab

chmod u=rw,g=rw,o= /var/tmp/fstab

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

useradd  wangcai

rm -rvf /home/wangcai

cp -r /etc/skel/. /home/wangcai

chown wangcai:wangcai /home/wangcai

useradd user1

[root@localhost ~]# chmod –reference=/home/user1 /home/wangcai

[root@localhost ~]# chmod –reference=/home/user1/.bashrc /home/wangcai/.bashrc 

[root@localhost ~]# chmod –reference=/home/user1/.gnome2/ /home/wangcai/.gnome2/

[root@localhost ~]# chmod –reference=/home/user1/.mozilla/ /home/wangcai/.mozilla/

[root@localhost ~]# chmod –reference=/home/user1/.bash_logout /home/wangcai/.bash_logout 

[root@localhost ~]# chmod –reference=/home/user1/.bash_profile /home/wangcai/.bash_profile 

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

groupadd g1

groupadd g2

groupadd g3

mkdir -p /data/testdir

chmod g=rwx /data/testdir

chgrp g1 /data/testdir

chmod g+s /data/testdir

useradd alice

groupmems -a alice -g g2

setfacl -Rm g:g2:rwx /data/testdir

gpasswd -a tom g3

setfacl -Rm g:g3:rx /data/testdir

chmod o= /data/testdir

4.創建組sales,gid 3000,passwd:centos,sales admins:user2

  將用戶user1,user2,user3加入到sales輔助組

  希望user1 創建新文件 默認的所屬組為sales

  user2將用戶user3從sales組移除

  刪除sales,user1,user2

  groupadd -g 3000 sales

  gpasswd sales

  centos

  useradd user1

  useradd user2

  useradd user3

  gpasswd -A user2 sales

  gpasswd -a user1 sales

  groupmems -a user2 -g sales

  usermod -aG sales user3

  su user1

  newgrp sales

  exit

  su user2

  gpasswd -d user2 sales

  passwd -d user1 sales

  passwd -d user3 sales

  groupdel sales

5.三種權限,三種特殊,acl,chattr 總結

a.三種權限分為  r w x

 每個目錄和文件都有屬主、屬組、和其他用戶。三種所有者分別對應 r w x

 只有r權限:    可以ls

 只有寫權限:   無任何意義

 只有執行權限: 可以cd cat

b.三種特殊權限suid、sgid、sticky

  suid:只作用于二進制文件有效,當屬組內的其他用戶或者other用戶有執行權限,那么這些用戶就臨時擁有了這個二進制文件屬主的權限

  sgid:作用于二進制文件和目錄,作用類似于suid

  sticky:作用于目錄,鎖定目錄內的文件不被修改。當這個目錄的屬主屬組有rwx權限,也不可以刪除目錄下other用戶所建立的文件

c.acl訪問控制列表

一些傳統的權限只能限制屬主、屬組、other,對于制定用戶、組就要用acl實現

d.chattr鎖定文件不被刪除,修改,重命名

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

(0)
landanherolandanhero
上一篇 2016-08-03
下一篇 2016-08-03

相關推薦

  • 用戶操作詳解(附圖)

                    關于用戶和組的基本操作命令     在linux的操作系統中,對于用戶以及組的配置是及其常用的和重要的,其中包括了對于用戶的添加,刪除以及修改用戶的…

    Linux干貨 2016-08-05
  • 處理交換文件和分區

    處理交換文件和分區 交換分區是系統RAM的補充 ?  基本設置包括:  1 創建交換分區或者文件  2 使用mkswap寫入特殊簽名  3 在/etc/fstab文件中添加適當的條目  4 使用swapon -a 激活交換空間 掛載交換分區 ? 啟用:swapon swapon [OPTION]……

    Linux干貨 2016-09-01
  • 2016/08/21:shell遺留select,包管理器rpm,yum

    select:搭配case更好的顯示選項     這個命令用來創建菜單,按數字排列,并等待用戶輸入,輸入對應數字,執行相應操作,更清楚明了     普通版:select var in list        &…

    Linux干貨 2016-08-24
  • 第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; ]#mke2fs -t ext4 -b 2048 -L MYDATA -m 2 O acl /dev/sda1 (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件…

    Linux干貨 2017-03-11
  • 學習宣言

    生命太過于短暫,今天放棄了明天不一定能得到。

    Linux干貨 2016-10-27
  • 第十周

    請詳細描述CentOS的啟動流程     啟動第一步–加載BIOS         當打開計算機電源,計算機會首先加載BIOS信息,BIOS信息是如此的重要,以至于計算機必須在最開始就找到它,這是因為BIOS中包含了CPU的相關信息、設備啟動順序信息、硬盤信…

    Linux干貨 2017-01-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-03 16:05

    總結的很好,如果能舉例說明,那就更好了

欧美性久久久久