unit5.6




        Unit 5
/etc/passwd //用戶信息配置文件
一共七個屬性
用戶:密碼:uid:gid:說明:家目錄:用戶使用的shell(和系統對話打開的shell)//////etc/shells(系統法shell)
/etc/group  //組信息配置文件
組名:組密碼:組ID:組內其它

wKioL1h3kuODKcYnAAhV9IjSwt0037.png-wh_50

新建一個用戶;linux
mkdir /home/linux  //新建用戶家目錄
chown linux:linux /home/linux //
vim /etc/passwd    //添加新用戶信息
vim /etc/group     //添加組信息
su - linux        //切換用戶

wKioL1h3k67zJeSMAAepJ3OecdY361.png-wh_50


如何查看組信息
id student    //查看student組的信息
組信息的一些參數
-u            //用戶的uid
-g            //用戶初始組id     
-G             //用戶所有所在組id
-n            //顯示名字而不是id數字
-a            //顯示所有信息
wKiom1h3k1SRPkoFAAcwLIRVpsE716.png-wh_50
修改用戶建立時候的默認參數時,需要修改配置文件“/etc/login.defs”

userdel -r linux       //刪除linux用戶信息
useradd linux          //添加linux用戶信息***每次添加用戶操作之前,必須先刪除用戶的所有信息
useradd -g 2000 linux  //添加用戶時指定初始組ID爲2000時,此ID必須存在,如果不存在,需要先添加一個初始組的ID
groupadd -g 2000 linux //添加初始組ID爲2000,添加完成後,再添加指定初始組ID爲2000的用戶linux。
監控用戶信息,組信息
watch -n 1 'tail -n 3 /etc/passwd /etc/group ;echo ========ls /home/'  //監控/etc/passwd文件和/etc/group文件的後三行。  列出/home下的用戶名

wKioL1h3lELD0uI0AAdm9pHbUDY923.png-wh_50
修改用戶的信息的幾個參數:
usermod -c “hahaha” linux                    //更改說明爲“hahaha”
        -d  /home/linux westos          //指定用戶家目錄
        -s  /bin/tcsh  linux            //默認與系統交互所使用的shell類型
        -G   ID 組名                    //指定用戶附加組

usermod -u 2000 linux             //修改用戶UID
usermod -g 72(此ID 必須存在) linux  //修改用戶初始組ID
usermod -G 72 linux               //修改用戶所有組ID
usermod -G "" linux               //刪除用戶所有組
usermod -c “說明” linux            // 修改說明
usermod -d /home/westos linux     //修改用戶家目錄  
usermod -md /home/linux linux     // 更改家目錄指定及加目錄名稱
usermod -s  /bin/csh              //更改shell爲/bin/csh
usermod -L innux                   //凍結帳號
usermod -U linux                   //解鎖 

wKiom1h3lBzBH95GAAk99x0pYqw083.png-wh_50  
---------------------------------------------------------
如何在不交互的情況下爲用戶修改密碼
stdin
echo admin|passwd --stdin admin    //此命令就是將輸出的admin經過管道符轉譯後設置爲admin用戶的密碼。

wKiom1h3lGnBiGLjAAbQ4eALSwc911.png-wh_50----------------------------------------------------------
***用戶權力下放***
(1)在系統中,超級用戶可以下放普通用戶不能執行的操作給普通用戶
下放權力的配置文件:/etc/sudoers
(2)格式:
獲得權限用戶    主機名稱=(獲得的用戶身份)    命令
(3)執行下放權限命令
sudo   命令         //第一次執行sudo需要輸入當前用戶密碼
visudo命令編寫/etc/sudoers文件:
##Allow admin to create users on desktop8.example.com(主機名)//以#開頭的行爲註釋,並不執行。
admin(用戶名) desktop8.example.com(主機名)=(root)(用戶以什麼身份執行) /user/bin/useradd(用戶所執行的操作)    //主機名的查看用hostname

執行useradd操作時命令行需進行調用。
sudo useradd westos(此爲要添加的用戶名)
如果想要在執行時不輸入密碼。則需要再修改/etc/sudoers文件
admin(用戶名)   desktop8.example.com(主機名)=(root)(用戶以什麼身份執行)  NOPASSWD: /user/bin/useradd(用戶所執行的操作)                  //表示用戶調用sudo命令的時候不需要自己密碼

wKioL1h3lI2xQZdwAAeKhqRyMzU104.png-wh_50




usermod -L    //鎖定用戶,密碼前加!
        -U          //解鎖密碼
passwd  -l    //鎖定用戶,密碼前加!!。鎖定更徹底

***用戶認證信息的控制***
chage -d 0 admin  //"0"代表修改密碼前所使用的天數。即首次使用admin登陸系統系統會提示修改密碼。
chage -d 2 admin  //"2"表示密碼的最短使用天數。即兩天之後纔可更改密碼。
chage -m 2 admin  //修改密碼的最短有效期爲兩天,
chage -M 999 admin //修改最長有效期爲999天
chage -W 3 admin  //修改警告期爲三天。
chage -I 2 admin  //修改非活躍天數爲兩天。
chage -E "YY-MM--DD" admin //修改密碼到期日。
監控用戶密碼信息
watch -n 1 tail -n 1 /etc/shadow    //**/etc/shadow的最後一行爲用戶admin的密碼信息。用這條命令來監控此密碼信息。
wKioL1h3lKnjt4RsAAgiWdtcKtw437.png-wh_50 
wKiom1h3lTnBg78OAAhCGkyKL1M637.png-wh_50
-----------------------------------------
                  Unit6


一.文件的權限

***查看文件的屬性***

ls -l filename(文件名)

執行ls -l /etc 後,會列出如下文件
total 1528
drwxr-xr-x.  3 root root       97 Dec 23 19:39 abrt
-rw-r--r--.  1 root root       18 Dec 23 19:45 adjtime
-rw-r--r--.  1 root root     1518 Jun  7  2013 aliases
-rw-r--r--   1 root root    12288 Dec 23 11:46 aliases.db
drwxr-xr-x.  2 root root     4096 Dec 23 19:43 alternatives
-rw-------.  1 root root      541 Apr 21  2015 anacrontab
-rw-r--r--.  1 root root       55 Sep 16  2014 asound.conf
-rw-r--r--.  1 root root        1 Jun 22  2015 at.deny
drwxr-xr-x.  2 root root       31 Dec 23 19:40 at-spi2
drwxr-x---.  3 root root       41 Dec 23 19:39 audisp
drwxr-x---.  3 root root       79 Dec 23 11:46 audit
-rw-r--r--.  1 root root    12706 Sep 17  2015 autofs.conf
-rw-------.  1 root root      232 Sep 17  2015 autofs_ldap_auth.conf
-rw-r--r--.  1 root root      795 Sep 17  2015 auto.master
drwxr-xr-x.  2 root root        6 Sep 17  2015 auto.master.d
-rw-r--r--.  1 root root      524 Sep 17  2015 auto.misc
-rwxr-xr-x.  1 root root     1260 Sep 17  2015 auto.net
-rwxr-xr-x.  1 root root      687 Sep 17  2015 auto.smb
drwxr-xr-x.  4 root root       94 Dec 23 19:42 avahi


***表示文件類型的參數***
drwxr-xr-x.  3 root root       97 Dec 23 19:39 abrt                            //“d”代表此文件類型爲目錄
-rw-r--r--.  1 root root       18 Dec 23 19:45 adjti                          //“-”代表文件類型爲普通文件
lrwxrwxrwx.  1 root root       22 Dec 23 19:45 chrony.conf -> chrony.conf-found // “l”代表文件類型爲連接文件
當然還有其他的一些表示文件類型的參數:
c           //代表字符設備
s           //代表套接字
p           //管道
b           //快設備
l           //連接
d           //目錄
-           //普通文件
***文件的權限***
“r”     //讀權限
“w”     //寫權限
“x”      //可執行權限
d|rwx|r-x|r-x.  3 root root       97 Dec 23 19:39 abrt //此文件類型爲目錄,所有人權限爲“rwx”,
所有組權限爲“r-x”,
其他人權限爲“r-x”
“3”表示此目錄的屬性大小,(如果這個文件不是目錄的話,那麼“3”代表系統記錄此文件的次數)
文件所有人爲root,
所有組爲root,
文件內容屬性大小爲97,
最近一次修改時間爲Dec 23 19:39,
文件名爲abrt。
 

***文件所有人所有組的管理***
chown username file/directory      //更改文件的所有人
chown username:groupname file|directory //更改所有人所有組
chown -R username directory            //更改目錄本身及裏面所有內容的所有人
chgrp -R groupname directory          //更改目錄本身及裏面所與內容的所有組
這裏我們用/mnt目錄來操作
爲了更好的觀察修改所有人和所有組信息,我們可以打開一個新的監控窗口
監控命令:
watch -n 1 ls -lR /mnt
***文件的普通權限***
rw-|r--|r--  //這裏的第一個“rw-”代表所有人權限,一般用“u”來代表
            // 第二個“r--”表示文件所有組權限,一般用“g”來代表
            //第三個“r--”表示其他人即第三方權限,一般用“o”來代表
這裏的u,g,o分別表示的具體權限:
u:表示文件所有人對文件可以讀寫
g:表示文件組成員對文件可讀
o:表示其他人對文件可讀

(1)”r“的權限,對目錄和文件的操作含義是不同的
對文件:可以查看文件中的字符,就是讀取文件內容
對目錄:可以查看目錄中的文件信息,但並不能查看目錄中文件的具體內容。
(2)“w”的權限,和“r”相似
對文件:可以更改文件內字符。
對目錄:可以在目錄中添加刪除文件,但不能更改文件的具體內容。
(3)“x”權限
對文件:可以運行文件內記錄的程序動作
對目錄:可以進入目錄中
(4)字符方式修改文件的權限
具體形式:chmod <u|g|o><+|-|=><r|w|x> file|directory
    //“ 命令   <所有人權限|所有組權限|第三方權限><+|-|=><讀|寫|可執行> 文件名|目錄名”
        chmod u-x file     //給file的所有人去掉x權限
        chmod g+w file     //給file的所有組添加w權限
        chmod u-x,g+w file  //給file的所有人去掉x權限,file所有組添加w權限
        chmod ugo-r file    //file的所有人,所有組,以及其他人都去掉r權限。(該file文件對任何人都不可讀)。
        
(5)數字方式修改該文件權限
在linux中 r=4
         w=2
         x=1
文件權限數字表示方式
rwx|rw-|r--
u=rwx=4+2+1=7
g=rw-=4+2+0=6
o=r--=4+0+0=4
那麼,該文件的權限用數字表示就爲764
chmod  修改後權限值  file
chmod 777 file          //直接將file文件的權限修改爲777
表示權限的各個數字的所代表的權限:
0=---
1=--x
2=-w-
3=-wx
4=r--
5=r-x
6=rw-
7=rwx
所以我們通常表示權限的數字範圍在000-777,這裏不包括特殊權限

***系統默認權限的設定***
從系統存在角度來說,開放的權力越大,系統存在的意義越高
從系統的安全角度來說,開放的權力越少,系統的安全性越高
所以系統在設定新建文件或目錄時會去掉一些權限

***修改umask的值***
如果想要永久設定umask的值,需要修改兩個配置文件的內容,分別爲/etc/bashrc和/etc/profile
 wKioL1h3lW6TwKmKAAcMk0pyTQI201.png-wh_50

wKioL1h3lYXRLCXhAAe7bzOW3YY368.png-wh_50

以上兩個文件umask設定值必須保持一致。
source /etc/bashrc
source /etc/profile     //重新加載這兩個配置文件,讓設定的umask值立即生效。


***特殊權限***
(1)suid
  針對二進制可執行文件
  文件內記錄的程序產生的進程的所有人爲文件所有人,和進程發起人身份無關
  設定方式:
  chmod u+s file
  在linux中這裏的s權限代表數字爲4
  chmod 4xxx file
(2)sgid
  對文件來說:只針對二進制可執行文件,任何人運行二進制文件,運行時程序產生的進程所有組都是文件的所有組, 和程序發起人組的身份無關。
  對目錄:當目錄擁有sgid權限後,目錄中新建的所有文件的所有組都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關
  設定方式:
  chmod g+s file|dir
  這裏的s權限代表數字2
  chmod 2xxx file|dir

wKiom1h3lb7zy_2RAAgTjTnJdeM453.png-wh_50

(3)sticky

   t權限:只針對目錄,當一個目錄上有t權限,那麼目錄中的文件只能被所有人刪除

設定方式:
chmod o+t directory
這裏t用數字表示爲1
chmod 1777 directory
ps ax -o user,group,comm | grep watch  //過濾watch命令的進程,並提取出該進程的所有人,用戶組,命令。
chgrp student /bin/watch //修改組爲student
ls -l /bin/watch       //查看此命令的信息



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章