linux基礎學習-第六天

2016-08-02

授課內容:

用戶和組管理命令

理解并設置文件權限

默認權限

特殊權限

文件ACL

用戶和組管理命令

用戶和組的配置文件:/etc/default/useradd(相當于useradd -D)、/etc/skel(創建用戶的家目錄配置文件)、/etc/login.defs(修改用戶的密碼策略配置)

/etc/default/useradd(相當于useradd -D)

[root@Centos7 ~]# ll /etc/default/useradd 
-rw-r--r--. 1 root root 119 Mar  6  2015 /etc/default/useradd
[root@Centos7 ~]# cat !^
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@Centos7 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

/etc/skel(創建用戶的家目錄配置文件)

[root@Centos7 ~]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@Centos7 ~]# useradd user111
[root@Centos7 ~]# ls -a /home/user111/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

/etc/login.defs(修改用戶的密碼策略配置)

用戶管理:

①useradd [options] LOGIN:添加用戶

-u:指定UID

-o:no-uniq,【不唯一,配合-u使用,如將普通用戶提權為管理員】

-g:指定組(前提是組必須存在)

-G:添加附加組

-s:指定shell

-c:添加注釋內容

-M:不創建家目錄

-r:system,創建系統用戶

例:添加一個用戶hello,其UID指定3500,屬組是3550,附加是root,注釋為“你好”,系統用戶,不能登陸系統,同時不創建家目錄

 useradd hello -u 3500 -g 3500 -G root -c "nihao" -r -s /sbin/nologin -M

②usermod [OPTION] login:用戶屬性更改

-u:更改用戶UID

-g:更改用戶屬組

-aG:更改用戶附加組,直接-G原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append

-s:修改shell

-c:修改注釋信息

-L:鎖定用戶不能登陸

-U:解鎖用戶

-l:login_name,修改用戶的登陸名字

③userdel [OPTION]… login

-r:刪除家目錄

④passwd  [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限

-l:鎖定用戶

-u:解鎖

-e:強制用戶下次登陸需要更改密碼

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天開始警告

⑤chage   [OPTION]… LOGIN:修改用戶的密碼策略(實際是修改了/etc/login.defs的配置文件)

[root@Centos7 ~]# chage hill
Changing the aging information for hill
Enter the new value, or press ENTER for the default
Minimum Password Age [0]: 
Maximum Password Age [99999]: 
Last Password Change (YYYY-MM-DD) [2016-08-01]: 
Password Expiration Warning [7]: 
Password Inactive [-1]: 
Account Expiration Date (YYYY-MM-DD) [-1]:

⑥id  [OPTION]… [USER]:查看用戶信息

-u:

-g:

-n:

⑦finger UserName:查看用戶信息

⑧chfn:修改注釋信息

⑨chsh: 修改shell

用戶組管理:

①groupadd [OPTION]… group_name:添加組

-r:系統組

-g:GID

②groupmod [OPTION]… group:組屬性修改

-g 

-n:新組名字

③groupdel GROUP:組刪除

④gpasswd [OPTION] GROUP:修改密碼

-a:添加組用戶

-A;user1,user2,…: 設置有管理權限的用戶列表

-d:刪除組用戶

批量增加用戶和修改密碼

批量增加用戶:

先創建一個文件,里面輸入需要添加的賬號,格式與passwd格式一致,然后用newusers命令運行賬號文件即可

[root@Centos7 ~]# cat user.txt 
user11:X:3000:3000::/testdir/user11:/bin/bash
user12:X:3001:3001::/testdir/user12:/bin/bash
user13:X:3002:3002::/testdir/user13:/bin/bash
user14:X:3003:3003::/testdir/user14:/bin/bash
user15:X:3004:3004::/testdir/user15:/bin/bash
[root@Centos7 ~]# newusers user.txt

批量修改密碼:

先創建一個文件,里面輸入需要批量修改密碼的賬號,格式【賬號:密碼】,然后重定向給chpasswd命令運行賬號文件即可

[root@Centos7 ~]# cat pass.txt 
user11:centos
user12:centos
user13:centos
user14:centos
user15:centos
[root@Centos7 ~]# cat pass.txt |chpasswd

【】練習:手動添加一個用戶hive,uid=gid=5000,附加組是bin

1.vipw
2.vigr
3.vim /etc/shadow
4.vim /etc/gshadow
5.cp -r /etc/skel/. /home/hive
6.chown -R hive:hive /home/hive
7.chmod -R go= /home/hive

文件權限和管理

文件權限

[root@Centos7 ~]# ll
total 5280
-rw-r--r--. 1 root root        37 Jul 31 14:48 11111
-rw-r--r--. 1 root root        61 Jul 31 14:41 11.sh
drwxr-xr-x. 2 root root         6 Aug  1 09:04 1.a.nihaoma

其中drwxr-xr-x.指的是文件的類型及權限

每三位為一組,對應:u(屬主),g(屬組),o(其他)

權限為r(讀)、w(寫)、x(執行)

文件:

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

w: 可修改其內容

x: 可以把此文件提請內核啟動為一個進程(一般為二進制程序或者腳本)

目錄:

r: 可以使用ls查看此目錄中文件列表

w: 可在此目錄中創建文件,也可刪除此目錄中的文件【重點理解】

x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄

X:只給目錄x權限,不給文件x權限

1、chmod WHO OPT FILE:文件權限修

WHO:u,g,o,a

OPT:+,-,=

修改文件的屬主和屬組

2、chown [OPTION]… [OWNER][:[GROUP]] FILE…:修改文件的屬主

-R:遞歸

   chown USERNAME:GROUPNAMDE FILE… :一并修改文件的屬主和屬組【】

3、chgrp [OPTION]… GROUP FILE…:修改文件的屬組

-R:遞歸

chown:只有root有權限

chgrp:只有root和所有者有權限

新建文件和目錄的默認權限和掩碼umask

umask:從最大權限中屏蔽掉相應的權限位,從而得出默認權限

[root@Centos7 ~]# umask
0022

新建文件和目錄的默認權限

新建FILE權限: 666-umask

如果所得結果某位存在執行(奇數)權限,則將其權限+1【即系統默認是不會給文件有執行權限】

[root@Centos7 ~]# umask 113
[root@Centos7 ~]# touch f22222
[root@Centos7 ~]# ll f22222 
-rw-rw-r--. 1 root root 0 Aug  2 20:27 f22222

文件f22222的某位存在執行(奇數)權限,則將其權限+1

新建DIR權限: 777-umask

特殊權限:SUID SGID STICKY(sst)

suid:【只作用在二進制的可執行的文件】,添加了s權限后,所運行的程序就可以以命令的屬主身份權限進行運行

 【當文件本身屬主u有執行權限x時,加上s權限會在x權限的位置顯示小寫的s,如果沒有x執行權限,則會變成大寫的S】

chmod u+s  FILENAME

chmod u-s  FILENAME

-rwxr-xr-x. 1 root root 117616 Nov 20  2015 /usr/bin/ls
[root@Centos7 ~]# ll f22222 
-rw-rw-r--. 1 root root 0 Aug  2 20:27 f22222
[root@Centos7 ~]# chmod u+s f22222 
[root@Centos7 ~]# ll f22222 
-rwSrw-r--. 1 root root 0 Aug  2 20:27 f22222

sgid:作用在可執行文件或者目錄

chmod g+s  FILENAME/Documents

chmod g-s  FILENAME/Documents  

當作用在文件時,添加了s權限后,所運行的程序就可以以命令的屬主身份權限進行運行

當作用在目錄時:

默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組,一旦某目錄被設定了SGID,

【則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組】

【當文件本身屬組g有執行權限x時,加上s權限會在x權限的位置顯示小寫的s,如果沒有x執行權限,則會變成大寫的S】

sticky:【具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權

 在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件】

【只作用在目錄上】

【當文件本身其他用戶o有執行權限x時,加上s權限會在x權限的位置顯示小寫的t,如果沒有x執行權限,則會變成大寫的T】

chmod o+t DIR…

chmod o-t DIR…

[root@Centos7 ~]# ll -d TTTT/
drwxr-xr-x. 2 root root 18 Aug  2 14:48 TTTT/
[root@Centos7 ~]# chmod o+t TTTT/
[root@Centos7 ~]# ll -d TTTT/
drwxr-xr-t. 2 root root 18 Aug  2 14:48 TTTT/

特殊權限數字法:

SUID SGID STICKY

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

chmod4777 /tmp/a.txt

chattr:修改文件屬性

只有超級權限的用戶才具有使用該命令的權限,這項指令可改變存放在ext2、ext3、ext4、xfs、ubifs、reiserfs、jfs等文件系統上的文件或目錄屬性

+i:即Immutable,系統不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那么任何的進程只能修改目錄之下的文件,不允許建立和刪除文件。

+a:Append-only,系統只允許在這個文件之后追加數據,不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。

文件訪問控制列表(file ACL)

[root@Centos7 ~]# ll -d TTTT/
drwxrwxr-x+ 2 root root 18 Aug  2 14:48 TTTT/
ll user.txt
-rw-rw-r--+ 1 root root 230 Aug  2 09:46 user.txt

已添加文件訪問控制列表的目錄或文件在最有一位顯示為+

【】添加了facl的文件的權限判斷順序:

owner–>facl,user–>group–>facl,group–>other

getfacl file |directory:查看文件或目錄當前的facl情況

setfacl -m u:user:rwx file/document:添加某個用戶的訪問控制列表

setfacl -m g:group:rw file| directory:添加某個組的訪問控制列表

setfacl -x u:user file |directory:刪除某個用戶的訪問控制列表

setfacl -x g:group file |directory:刪除某個組的訪問控制列表

setfacl -b file 清除所有ACL權限

原創文章,作者:麥德良,如若轉載,請注明出處:http://www.www58058.com/27638

(0)
麥德良麥德良
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • 文本編輯秘籍之vim寶典

    一、初識Vim Vim是從 vi 發展出來的一個文本編輯器。其功能非常強大,熟練掌握vim的常用操作和快捷操作能讓我們從繁雜的文本處理任務中殺出血路,在運維的道路上愉快前行。 vim使用簡單命令組合來完成復雜操作,同時也支持基本正則表達式。 二、撥開vim迷霧: 2.1 使用vim打開一個文件: 如果該文件存在,文件被打開并顯示內容;如果該文件不存在,當編輯…

    Linux干貨 2016-08-10
  • bash基礎特性及用戶與組管理

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 2、取出最后登錄到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當做其默認shell的最多的那個shell。 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxuser.txt文件中。 5、取出當前主機的I…

    2017-09-29
  • 學習宣言

      人生還有很多精彩時刻,需要你去探尋,linux 就是這個深淵的入口,我其實已迫不及待,伙伴們別怕,跟我來,一路披荊斬棘,踏尋生命的足跡!Fighting!

    Linux干貨 2016-10-25
  • tar、rpm和yum總結

    tar、rpm和yum總結 tar工具 tar是Tape ARchive的縮寫,原意是磁帶歸檔,進行數據備份。在linux中,用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,方便網絡傳輸和備份數據。 tar不僅可以打包多個文件和目錄,還可以對打包完的數據包進行壓縮,進一步提升傳輸和備份質量。 選項 -c:設置新的備份文件-t:列出備份文件的內容 -…

    Linux干貨 2017-08-04
  • 磁盤管理的補充及擴展

    磁盤管理的補充及擴展 掛載點和/etc/fstab(配置文件) 使用mount命令掛載為臨時掛載開機重啟后就會自動卸載,為了永久掛載必須寫在配置文件中! 配置文件系統體系 ? 被mount、fsck和其它程序使用 ? 系統重啟時保留文件系統體系 ? 可以在設備欄使用文件系統卷標 ? 使用mount  -a 命令掛載/etc/fstab中的所有文件系…

    Linux干貨 2016-08-30
  • 描述計算機的組成及其功能

    CPU:計算器,控制器,寄存器內存輸入輸出設備

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-08 22:23

    思路清晰,理論與實踐結合,如果能有一些恰當的縮進就更好了。

欧美性久久久久