1. 程式人生 > >linux用戶及文件管理

linux用戶及文件管理

限制用戶 RM sql 變更 log tex 文件管理 密碼認證 組成

幫助命令

whatis 命令 #顯示命令的簡短功能

man 命令 #查看手冊頁和命令描述

命令--help #適用於外部命令

help 命令 #適用於內部命令

type 命令 #查看命令內嵌還是外部

文件管理

位置判斷

絕對路徑 :從/開始

相對路徑:以 ... 開始的

文件管理

touch/mkdir/mv/rm/cp #創建/修改/移動/刪除/復制

#創建文件

touch #創建空文件,文件存在修改時間

touch file{1..n} #批量創建文件

vi file #vi創建文件

cat EOF<< >file #重定向創建文件

XXXXXX

EOF

echo"xxx">file #重定向創建文件

#創建目錄

mkdir -p/a/b/c #父目錄子目錄一起創建

mkdir -v/a #創建顯示信息

mkdir -p/a/{1..101} #批量創建目錄

#移動文件

mv file1 file2 #重命名文件

mv /a/file1 /b #移動文件

#刪除文件

rm -r/a/* #刪除目錄下所有文件

rm -rf/a/* #強制刪除不提示

#復制文件

語法 cp-r 源文件 目標文件

cp -r /a /b #遞歸,包含目錄下的子目錄一並處理

#查看文件

ls -a 文件 #顯示所有文件及文件夾

ls -l 文件 #格式化顯示目錄下的內容列表

cat -n 文件 #對輸出的所有行進行編號

cat -b 文件 #對非空的輸出行進行編號

cat -s 文件 #多行的空行合並為一個空行

more 文件 #分布顯示文件內容,不支持向前翻頁

less 文件 #可前後翻頁

head -n 文件 #顯示從文件頭開始到n的行數,默認顯示前10行

tail 文件 #顯示文件尾部內容,默認顯示末尾10行

tail -nf 文件 #動態顯示文件末尾n行的內容

xfs文件系統備份與恢復

xfs備份介紹

XFS提供了 xfsdump 和 xfsrestore 工具協助備份XFS文件系統中的數據。xfsdump 按inode順序備份一個XFS文件系統。

與傳統的UNIX文件系統不同,XFS不需要在dump前被卸載;對使用中的XFS文件系統做dump就可以保證鏡像的一致性。這與XFS對快照的實現不同,XFS的dump和restore的過程是可以被中斷然後繼續的,無須凍結文件系統。xfsdump 甚至提供了高性能的多線程備份操作,把一次dump拆分成多個數據流,每個數據流可以被發往不同的目的地。

首先了解一下xfsdump的備份級別有以下兩種,默認為0(即完全備份)

完全備份 0

增量備份 1-9

備份

語法: xfsdump –f 備份存放位置 要備份路徑

#交互式備份

xfsdump -f /opt/dump_sdb1 /sdb1

# -L 指定備份會話標簽 -M 指定設備備份標簽

#非交互式備份

xfsdump -f /opt/dump_sdb1 /sdb1-Ldump_sdb1-Mmedia0

# 指定文件備份

xfsdump -f /opt/dump_sda1_passwd-spasswd /sda1-Ldump_sda1_passwd-Mmedia1

#克隆目錄到另一個目錄

xfsdump -/sda1 | xfsrestore -/data/

#克隆指定目錄到另一個目錄

xfsdump--stest /sda1 | xfsrestore-/data/

恢復

語法: xfsrestore –f 指定恢復文件的位置 要恢復的目錄

xfsrestore-f /opt/dump_sdb1 /sdb1

#指定恢復單個文件

xfsrestore -f/opt/dump_sdb1-spasswd /sdb1

用戶管理

用戶分類

超級用戶: root 擁有對系統的最高的管理權

普通用戶:系統用戶 UID:1-999(RHEL7) 1-499(RHEL6)

? 本地用戶 UID:1000+ 500+

虛擬用戶:偽用戶 一般不會用來登錄系統的,它主要是用於維持某個服務的正常運行

#創建用戶

useradd -m -u -d- g"初始組" -G"附加組" -s "登陸的shell" "用戶"

-m 創建用戶主目錄/home

-g 設置用戶的初始組名稱或id

-G 設置用戶附屬組

-s 設置用戶登陸shell ,/sbin/nologin 禁止登陸系統

-u 指定用戶的uuid

-d 指定用戶的主目錄

#改變用戶信息

usermod -aG 組名 用戶名

-u UID

-d 宿主目錄

-g 起始組 #只能有一個

-G 附加組 #可以有多個

-s 登錄shell

-L 鎖定

#刪除用戶及家目錄

userdel -r user

#創建用戶密碼

passwd user

echo123456 |passwd --stdin user

#修改密碼

chage 用來更改用戶密碼過期信息

-m:密碼可更改的最小天數。為0時代表任何時候都可以更改密碼

-M:密碼保持有效的最大天數

-W:用戶密碼到期前,提前收到警告信息的天數

-E:帳號到期的日期。過了這天,此帳號將不可用

-d:上一次更改的日期,為0表示強制在下次登錄時更新密碼

-I:停滯時期。如果一個密碼已過期這些天,那麽此帳號將不可用

-l:(list)列出當前的設置,由非特權用戶來確定他們的密碼或帳號何時過期

#添加用戶到指定組

gpasswd

-a:添加用戶到組;

-d:從組刪除用戶;

-A:指定管理員;

-M:指定組成員和-A的用途差不多;

-r:刪除密碼;

-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。

gpasswd -a users user

授權

#創建用戶

useradd user

#編輯sudoers文件

vi /etc/sudoers

## Allows people in group wheel to run all commands

%wheel ALL=(ALL) ALL

## Same thing without a password

# %wheel ALL=(ALL) NOPASSWD: ALL

use rALL=(ALL) NOPASSWD:ALL

加%表示組,NOPASSWD表示使用sudo不需要密碼認證

文件權限管理

文件基本權限

#查看文件權限

ll /etc/passwd

-rw-r--r--.1root root9305月2306:46 /etc/passwd

p 表示命名管道文件

d 表示目錄文件

l 表示符號連接文件

- 表示普通文件

s 表示socket套接口文件,比如我們啟用mysql時,會產生一個mysql.sock文件

c 表示字符設備文件

b 表示塊設備文件

#文件屬性說明

-|rw-|r--|r--|屬主|屬組|修改時間|對象:文件名

rw- 文件所有者對文件具有讀取、寫入的權限

r-- 用戶組裏用戶則具有讀取的權限

r-- 其他用戶則具有讀取的權限

#更改文件的屬主和屬組

語法:chown chgrp+文件或目錄

chown user:user text.txt 更改文件的屬主,屬組

chown user text.txt 更改文件的屬主

chown:user text.txt 更改文件的屬組

chown -R user:user /text 更改目錄的屬主,屬組

chgrp user text.txt 更改文件的屬組

#修改權限

語法:chmod+ 文件或目錄

+-= 添加或者刪除對應的權限

r=4,w=2,x=1數字權限

u+-=(rwx) 添加刪除擁有者權限

g+-=(rwx) 添加刪除組的權限

o+-=(rwx) 添加刪除其他的權限

a+-=(rwx) 添加刪除所有用戶的權限

chmodu+x test.txt 添加擁有者可執行的權限

chmoda-r text.txt 刪除所有人可讀的權限

#文件默認權限

umask 設定文件的缺省值,從權限中去掉部分權限

umask 000-777

默認創建目錄權限為777-022=755

默認創建文件權限為666-022=644

修改umask的值,改變默認文件目錄權限

vi/etc/profile | $[HOME]/.bash.profile | $[HOME]/.profile

if[$UID-gt199] && ["`id -gn`"="`id -un`"];then

umask002

else

umask022

#查看文件權限

ll /etc/passwd

-rw-r--r--.1root root9815月2517:34 /etc/passwd

stat -c %a /etc/passwd

644

stat -c %A /etc/passwd

-rw-r--r--

文件高級權限

特殊權限

SUID:限定:只能設置在二進制可執行程序上面,對目錄設置無效。

功能:程序運行時的權限從執行者變更成程序所有者。

SGID:限定:既可以給二進制可執行程序設置,也可以對目錄設置。

功能:在設置了SGID權限的目錄下建立文件時,新創建的文件的所屬組會繼承上級目錄的所屬組。

Stickybit:粘滯位權限是針對目錄的,對文件無效,也叫防刪除位。

SGID SUID Stickybit

u=4,u+s | g=2,g+s | o=1,o+t

#增加特殊權限

chmod u+s text.txt 對文件需要可執行權限

chmod g+s /text 對目錄使用

chmod o+t /text 只能針對目錄

chmod 4777 text.txt 對文件需要可執行權限

chmod 2777 /text 對目錄使用

chmod 1777 /text 只能針對目錄

ACL訪問控制列表

ACL: 訪問控制列表

它是一種權限分配之外的普遍範式。例如,默認情況下你需要確認3個權限組:UGO。而使用ACL,你可以增加權限給其他用戶或組別,可以允許指定的用戶A、B、C擁有寫權限而不再是讓他們整個組擁有寫權限。

#ACL參數解釋

ACL_USER_OBJ: 相當於Linux裏file_owner的權限

ACL_USER: 定義了額外的用戶可以對此文件擁有的權限

ACL_GROUP_OBJ: 相當於Linux裏group的權限

ACL_GROUP: 定義了額外的組可以對此文件擁有的權限

ACL_MASK: 定義了ACL_USER, ACL_GROUP_OBJ和ACL_GROUP的最大權限

ACL_OTHER: 相當於Linux裏other的權限

#查看ACL

getfacl /etc/passwd

# file: etc/passwd

# owner: root

# group: root

user::rw-

group::r--

other::r--

#設置文件權限

#創建文件

touch a.txt

#查看acl

getfacl a.txt

# file: a.txt

# owner: root

# group: root

user::rw-

group::r--

other::r--

#設置文件acl

setfacl -m:: a.txt 設置用戶,組權限

setfacl -m: a.txt 設置mask的權限

#設置默認目錄權限

setfacl -md::: /test 目錄中所有新建文件都繼承此權限,這個權限對目錄本身不生效,並且不會影響目錄中已經存在的文件

#刪除acl權限

setfacl -x: a.txt 刪除用戶組acl權限

setfacl -xd:: a.txt 刪除默認目錄下acl權限

setfacl -b a.txt 刪除所有acl權限

#acl權限復制

getfacl /text | setfacl --set-file=/text1

文件鎖

chattr 命令的作用很大,通過chattr命令修改文件屬性能夠提高系統的安全性,包括(root)但是它並不適合所有的目錄,chattr命令不能保護/,/dev,/tmp,/var等目錄。

#chattr屬性

chattr +-=文件#添加,刪除,給予權限

chattr +a

對文件來說:只能在文件中追加數據,但現有數據不能刪除也不能進行修改

對目錄來說:只能只允許在目錄中建立和修改文件,但是不允許刪除

chattr +i

對文件來說:不能修改,刪除文件,也不能添加和修改其內的數據,但可以查看文件裏面的內容

對目錄來說:只能修改目錄下的文件數據,但不能建立和刪除文件

lsattr 文件 #查看文件屬性

#舉例說明(針對文件)

touchb.txt

chattr+a b.txt

echo"123456">b.txt 無法修改

-bash: b.txt: 不允許的操作

echo"123456">>b.txt &&echook 可以追加

ok

chattr+i b.txt

echo"123456">b.txt

-bash: b.txt: 不允許的操作

echo"123456">>b.txt

-bash: b.txt: 權限不夠

catb.txt 可以查看

123456

123456

123456

#舉例說明(針對目錄)

mkdirb

chattr+a b

touchb/{file1,file2}

rm-rfb/file1

rm: 無法刪除"b/file1": 不允許的操作

echo123456>b/file1

catb/file1

123456

chattr+i b

touchb/file4

touch: 無法創建"b/file4":

rm-rfb/file1

rm: 無法刪除"b/file1": 權限不夠

echoaaaa>b/file1

catb/file1

aaaa

我是MIkel Pan,雲計算愛好者,定期更新生活感悟,心靈進化者就在MIkel Pan,喜歡我就來找我吧!

博客園地址:http://www.cnblogs.com/plyx/
簡書地址:https://www.jianshu.com/u/5986765934f4

linux用戶及文件管理