linux用户及文件管理

帮助命令

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

相关推荐