Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
1.chown
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
命令格式:
chown [选项]... [所有者][:[组]] 文件...
命令参数:
必要参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
--help 显示帮助信息
--version 显示版本信息
示例:
1>改变拥有者和组
[root@system1 ~]# ll
total 8
drwxr-xr-x. 2 root root 6 May 18 13:11 Music
[root@system1 ~]# chown gj:gj Music
[root@system1 ~]# ll
total 8
drwxr-xr-x. 2 gj gj 6 May 18 13:11 Music
改变文件拥有者:chown gj: Music
改变文件所属组:chown :gj Music
2>改变指定目录以及其子目录下的所有文件的拥有者和群组
[root@system1 Music]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 20 19:34 123
drwxr-xr-x. 2 root root 6 Sep 20 19:34 234
-rw-r--r--. 1 root root 0 Sep 20 19:34 789
[root@system1 ~]# ll
drwxr-xr-x. 4 root root 36 Sep 20 19:34 Music
[root@system1 ~]# chown -R -v gj:gj Music
changed ownership of ‘Music/123’ from root:root to gj:gj
changed ownership of ‘Music/234’ from root:root to gj:gj
changed ownership of ‘Music/789’ from root:root to gj:gj
changed ownership of ‘Music’ from root:root to gj:gj
[root@system1 ~]# ll
drwxr-xr-x. 4 gj gj 36 Sep 20 19:34 Music
[root@system1 Music]# ll
drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 123
drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 234
-rw-r--r--. 1 gj gj 0 Sep 20 19:34 789
2.chgrp:改变文件的所属组
用法,参数与chown基本相同
示例:
[root@system1 Music]# ll
drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 123
[root@system1 Music]# chgrp root 123
drwxr-xr-x. 2 gj root 6 Sep 20 19:34 123
3.chmod:改变文件的权限
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含
字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1>文字设定法
chmod [-cfvR] [--help] [--version] mode file...
mode : [ugoa...][[+-=][rwxX]...][,...],
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE:
示例:# chmod -R --reference=/tmp/issue /tmp/fstab
2> 数字设定法
0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
语法:chmod [mode] 文件名
示例:让文件123的用户,组和其他都拥有可读可写可执行的权限
[root@system1 Music]# ll
drwxr-xr-x. 2 gj root 6 Sep 20 19:34 123
[root@system1 Music]# chmod 777 123
drwxrwxrwx. 2 gj root 6 Sep 20 19:34 123
4.umask
文件权限是linux系统中的一种安全机制,通过设置不同的权限,可以达到限制用户操作的目的,有效地保证了文件的完整性。
默认的情况下,创建一个文件的权限为"rw-r--r--",而创建一个目录的权限为rwxr-xr-x",如果默认的不符合用户的需求,可以用chmod命令进行设置,但这样的效率很低。
linux提供了一个方便的工具umask,可以用来设置文件的默认掩码。
文件的默认权限就是umask设置的掩码和系统中默认的最大权限码做异或运算,其结果就是文件的默认权限。
默认的umask的值为0022
对于文件的执行权限(即X权限)使用umask命令是无法使其起作用的,系统强制关闭文件的X默认执行权限,只能通过chmod修改
umask只对当前shell环境起作用。
umask对应的配置文件 :
umask的配置文件为:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改这些文件里的umask值,则umask的值会长期不变。
二、文本处理工具
1.wc命令:统计单词数,行数,字节数
语法:wc [选项] 文件…
c 统计字节数。
l 统计行数。
w 统计字数。
示例:
[root@system1 etc]# wc -l passwd
40 passwd
[root@system1 etc]# wc -c passwd
1989 passwd
[root@system1 etc]# wc -w passwd
68 passwd
2.cut命令:切取文本
cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。
cut命令主要是接受三个定位方法:
第一,字节(bytes),用选项-b
第二,字符(characters),用选项-c
第三,域(fields),用选项-f
3.sort命令:排序
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
语 法:
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息
示例:
[root@system1 Music]# cat 123
banana
apple
pear
orage
pear
[root@system1 Music]# sort -u 123
apple
banana
orage
pear
4.uniq命令:不排序只去重
uniq [OPTION]... [FILE]...
-d:--repeated 仅显示重复的行
-u:--unique 仅显示不重复的行
-c:--count 在前缀显示重复的数量
注意:连续且完全相同方为重复
三、文件管理命令 cp,mv,rm
1.cp:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法:cp(选项)(参数)
选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数:
源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
2.mv
mv:是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
命令格式:
mv [选项] 源文件或目录 目标文件或目录
命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
示例:
将文件111改名为001
[root@system1 Music]# ll
-rw-r--r--. 1 root root 0 Sep 21 23:34 111
[root@system1 Music]# mv 111 001
[root@system1 Music]# ll
-rw-r--r--. 1 root root 0 Sep 21 23:34 001
移动文件123到目录文件000中
[root@system1 Music]# ll
drwxr-xr-x. 2 root root 6 Sep 21 23:37 000
-rw-r--r--. 1 root root 29 Sep 21 23:17 123
[root@system1 Music]# mv 123 000
[root@system1 000]# ll
-rw-r--r--. 1 root root 29 Sep 21 23:17 123
3.rm
可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
rm [选项] 文件…
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
示例:
交互式删除当前目录下的文件456和789
[root@system1 Music]# ll
-rw-r--r--. 1 root root 0 Sep 21 23:34 456
-rw-r--r--. 1 root root 0 Sep 21 23:34 789
[root@system1 Music]# rm -r 456 789
rm: remove regular empty file ‘456’? y
rm: remove regular empty file ‘789’? n
[root@system1 Music]# ll
-rw-r--r--. 1 root root 0 Sep 21 23:34 789
删除当前目录下除隐含文件外的所有文件和子目录
[root@system1 Music]# ll
total 0
drwxr-xr-x. 2 root root 16 Sep 21 23:38 000
-rw-r--r--. 1 root root 0 Sep 21 23:34 001
-rw-r--r--. 1 root root 0 Sep 21 23:34 789
[root@system1 Music]# rm -rf *
[root@system1 Music]# ll
total 0
[root@system1 Music]#
四、文本文件查看类命令:cat,tac,more,less,tail,head
cat 是一个文本文件(查看)和(连接)工具,通常与more搭配使用,与more不同的是cat可以合并文件。查看一个文件的内容,用cat比较简单,就是cat后面直接接文件名。
cat 语法结构:
cat [选项] [文件]...
选项:
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行
tail 只显示最后几行
五、文件的时间戳管理工具:touch
touch的功能并不是用来创建新文件的,创建文件是touch命令的一个特殊情况,touch是用来修改指定的文件的访问和修改时间属性,如果指定的文件不存在,将建立一个新的空文件,并以当前的时间来设置文件的访问和修改时间。
命令格式:
touch [选项]。。。 文件。。。
命令参数:
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
示例:
创建不存在的文件
[root@system1 Music]# touch 123 234
[root@system1 Music]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 22 09:38 123
-rw-r--r--. 1 root root 0 Sep 22 09:38 234
[root@system1 Music]# touch -c 345
[root@system1 Music]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 22 09:38 123
-rw-r--r--. 1 root root 0 Sep 22 09:38 234
更新111的时间和123的时间戳相同
[root@system1 Music]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 22 09:40 111
-rw-r--r--. 1 root root 0 Sep 22 09:38 123
-rw-r--r--. 1 root root 0 Sep 22 09:38 234
[root@system1 Music]# touch -r 111 123
[root@system1 Music]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 22 09:40 111
-rw-r--r--. 1 root root 0 Sep 22 09:40 123
-rw-r--r--. 1 root root 0 Sep 22 09:38 234
六、文件内容类型查看命令:file
file命令用来探测给定文件的类型。
语法:file(选项)(参数)
选项:
-b:列出辨识结果时,不显示文件名称;
-c:详细显示指令执行过程,便于排错或分析程序执行的情形;
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别;
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
参数:
文件:要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
示例:
显示文件类型
[root@system1 ~]# ll
-rw-------. 1 root root 1614 May 18 21:04 anaconda-ks.cfg
[root@system1 ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@system1 ~]# file -b -i anaconda-ks.cfg (-i 显示MIME类别)
text/plain; charset=us-ascii
2、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
1、mkdir -p /tmp/{a1/{a,b},b}
2、mkdir -p /tmp/{x,q}_{y,z}
3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
一、文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。
二、.三个时间戳:
access time:访问时间,简写atime,读写文件内容
modify time: 修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
三、修改文件的时间戳:touch
touch[OPTION]...FILE...
-a:onlyatime
-m:onlymtime
-sSTAMP:
[[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不予创建
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch tfile-`(date +%F-%H-%M-%S)`
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1 (现在/tmp目录下创建mytest1目录)
cp -r /etc/p*[^[:digit:]] /tmp/mytest1
6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
groupadd jack;useradd -u 5001 -d /tmp/tom -s /bin/zsh -G jack tom
7、常用的用户以及文件管理命令有哪些,并演示命令以及用法
(1)查看当前用户:whoami 和who 或者 who am i
(2)useradd :添加用户命令
useradd [options] LOGIN
-u UID -o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序 可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在 -N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
示例:useradd -s /bin/sh -g group –G adm,root abc 增加用户abc,并指定它的shell ,主组和附加组
useadd 默认配置文件/etc/default/useradd
/etc/login.defs这个文件就是用来设置用户创建时默认属性的文件
(3)usermod:修改用户信息命令
usermod [options] LOGIN
-u UID: 新UID
-g GID: 新主组 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的 附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL -c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移 动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
示例:usermod -s /bin/ksh -d /home/z –g developer sam 修改sam用户的shell和目录以及主组
(4)userdel 删除用户
userdel [OPTION]... login
-r: 删除用户家目录
userdel -r sam 删除sam用户并清空相关目录
(5)su 切换用户
su [options...] [-] [user [args...]]
su - 完全切换
(6)passwd 更改密码
passwd [OPTIONS] UserName
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
示例:echo magedu | passwd --stdin varnishs 非交互式更改密码
(7)chage 修改用户密码策略
chage [OPTION]... LOGIN
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 显示密码策略
示例: chage -d 0 tom 下一次登录强制重设密码
(8)groupadd 增加组
groupadd [OPTION]... group_name
-g GID: 指明GID号;
-r: 创建系统组
(9)groupmod 修改组信息
groupmod [OPTION]... group
-n group_name 新名字
-g 修改gid
示例:groupmod -n linux linux2
(10)groupdel 删除组
groupdel GROUP
(11)chown 修改文件所属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
-R: 递归
示例:chown -R myuser:mygroup /test
chown myuser test
chown :mygroup test 修改test所属组
(12)chmod 修改文件权限 (rwxX)(421)
chmod [OPTION]... OCTAL-MODE FILE...
-R: 递归修改权限
对于文件来说rwx分别是可读可写可执行权限
对于目录目录r权限可以看到文件列表~ w可以删文件 x可以进入目录和文件具体属性 无法操作该目录 目录基本权限
+X:只给目录x权限,不给文件x权限,或者给有执行权限的文件 加执行权限 如-rwxrw-rw- 变成 -rwxrwxrwx
root不受rw限制受x权限限制
示例:chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir 给目录的所属组递归增加rwx权限,该目录下文件所属组只增加rw权限
chmod 600 file
(13)SUID, SGID, Sticky 特殊权限
suid u+s 4777 作用于二进制程序,权限与程序所有者有关
guid g+s 2777 作用于二进制程序,权限与程序所属组有关;作用于文件夹中,文件夹里新建文件继承目录所属组
stick o+t 1777 作用目录,此目录的文件只能被所有者删除
chattr +i +a(只能追加) 锁定文件 +A 不能修改atime(访问时间) lsattr file查看特殊权限
(14)umask 系统默认生成权限
新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1 (结果偶数不变,奇数加一)
新建DIR权限: 777-umask
(15)ACL高级权限
centos6版本需要手动加acl权限功能
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
ACL生效顺序:所有者,自定义用户,自定义组,其他人
应用ACL后 文件本身组权限变成acl中的mask,而非传统的组权限
常用命令
getfacl: 获取文件或目录的ACL设置信息getfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...-a , --access:显示文件或目录的访问控制列表
-d , --default:显示文件或目录的默认(缺省)的访问控制列表-R , --recursive:操作递归到子目录
setfacl: 设置文件或目录的ACL设置信息setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...-m, --modify=acl:修改文件或目录的扩展ACL设置信息
-x, --remove=acl:从文件或目录删除一个扩展的ACL设置信息-b, --remove-all:删除所有的扩展的ACL设置信息-k, --remove-default:删除默认的acl设置信息-n, --no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定-d, --default:设置默认的ACL设置信息(只对目录有效)-R, --recursive:操作递归到所有子目录和 文件
示例:getfacl file
setfacl -m u:wang:rwx txt
setfacl -Rm g:sales:rwX directory
setfacl -m d:u:wang:rx /data 设定该目录的默认权限,只对目录有效 或者setfacl -dmu:wang:rx /data
setfacl -x u:wang file 移除设置好的wang账号对该文件权限
备份和恢复ACL
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p 参数。
但是tar等常见的备份工具是不会保留目录 和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt 把目录的acl保存在acl.txt文件中
setfacl -R -b /tmp/dir1 删除该目录所有acl权限
setfacl -R --set-file=acl.txt /tmp/dir1 恢复权限到目录中
setfacl --restore acl.txt
getfacl -R /tmp/dir1 查看目录acl权限
(16)pwck grpck 检查/etc/passwd 和 /etc/group 文件正确性
用文件批量创建用户密码: newusers chpasswd
创建user文件,写入用户列表,格式与/etc/passwd 一致
如:
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
tomcat:x:1001:1002::/home/tomcat:/bin/bash
tom:x:5001:5001::/tmp/tom:/bin/zsh
然后newusers txt 创建这些用户
在创建password文件,格式
用户:密码
tomcat:123456
tom:123456
然后cat password |chpasswd 自动添加密码
newgrp 切换当前用户主组