linux 文件管理,用户,组和权限

网友投稿 272 2022-11-03

linux 文件管理,用户,组和权限

​目录​

​​文件路径和文件访问​​​​文件通配符​​​​文本管理命令​​​​文件删除和节点表结构​​​​硬链接,软链接,重定向​​​​管道和重定向​​​​用户,组和权限​​​​文件权限管理​​​​文件特殊属性和FACL​​

文件路径和文件访问*

​inux 文件目录结构​

linux 文件目录

/ :根目录/boot:引导文件目录/bin :用户基本命令/sbin:管理类基本命令/etc:配置文件目录/home:家目录/dev:设备文件目录/usr:应用程序目录

bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

​linux 下的文件类型​

-:普通文件d:目录文件l:链接文件b:快文件c:字符文件p: 管道文件s:套接字文件

-rw-r--r--. 1 root root 642 Dec 10 2016 xattr.confcrw-r--r--. 1 root root 10, 235 Mar 6 19:35 autofsdrwxr-xr-x. 3 root root 60 Mar 6 19:35 buslrwxrwxrwx. 1 root root 3 Mar 6 19:35 cdrom -> sr0

​显示当前目录​

pwd

[root@lib ~]#pwd/root

​进入上级目录​

cd ..

[root@lib etc]#cd /etc/profile.d/[root@lib profile.d]#pwd/etc/profile.d[root@lib profile.d]#cd ..[root@lib etc]#pwd/etc[root@lib etc]#

​返回家目录​

cd 或者 cd ~

[root@lib profile.d]#pwd/etc/profile.d[root@lib profile.d]#cd[root@lib ]#pwd/root[root@lib ]#

​返回上一次工作路径​

+ cd -

[root@lib profile.d]#pwd /etc/profile.d[root@lib profile.d]#cd /data[root@lib data]#pwd/data[root@lib data]#cd -/etc/profile.d

​相关的环境变量​

PWD OLDPWD

[root@lib profile.d]#echo $PWD $OLDPWD/etc/profile.d /data

​相对路径​

相对路径指的是相对于当前路径

[root@lib network-scripts]#pwd/etc/sysconfig/network-scripts[root@lib network-scripts]#ll ../../../boottotal 185612-rw-r--r--. 1 root root 193903 Oct 19 23:23 config-4.18.0-348.el8.x86_64drwxr-xr-x. 3 root root 4096 Mar 2 17:48 efidrwx------. 4 root root 4096 Mar 5 00:08 grub2

​绝对路径​

绝对路径是指从根开始的路径

​相关的两个命令​

basename : 文件名称dirname :目录名称

[root@lib network-scripts]#basename /etc/sysconfig/network-scripts/ifcfg-ens160 ifcfg-ens160[root@lib network-scripts]#dirname /etc/sysconfig/network-scripts/ifcfg-ens160/etc/sysconfig/network-scripts

​列出目录名称​

ls

-a : 列出所有文件,包括隐藏文件-l : 列表形式显示详细信息-S :从大到小排序-t : 按mtime 排序-ld :查看到目录详细属性-R : 递归显示-r : 倒序显示

[root@lib data]#ls -a . .. file1 file2 file3 file4 file5 [root@lib data]#ls -l total 0 -rw-r--r--. 1 root root 0 Mar 8 22:18 file1 -rw-r--r--. 1 root root 0 Mar 8 22:18 file2 -rw-r--r--. 1 root root 0 Mar 8 22:18 file3 -rw-r--r--. 1 root root 0 Mar 8 22:18 file4 -rw-r--r--. 1 root root 0 Mar 8 22:18 file5 [root@lib data]#ll -S total 76 -rw-r--r--. 1 root root 61726 Mar 8 22:20 file1 -rw-r--r--. 1 root root 89 Mar 8 22:21 file4 -rw-r--r--. 1 root root 43 Mar 8 22:20 file2 -rw-r--r--. 1 root root 43 Mar 8 22:20 file3 -rw-r--r--. 1 root root 0 Mar 8 22:18 file5 [root@lib data]#ll -r total 76 -rw-r--r--. 1 root root 0 Mar 8 22:18 file5 -rw-r--r--. 1 root root 89 Mar 8 22:21 file4 -rw-r--r--. 1 root root 43 Mar 8 22:20 file3 -rw-r--r--. 1 root root 43 Mar 8 22:20 file2 -rw-r--r--. 1 root root 61726 Mar 8 22:20 file1 [root@lib data]#ll -t total 76 -rw-r--r--. 1 root root 89 Mar 8 22:21 file4 -rw-r--r--. 1 root root 43 Mar 8 22:20 file3 -rw-r--r--. 1 root root 43 Mar 8 22:20 file2 -rw-r--r--. 1 root root 61726 Mar 8 22:20 file1 -rw-r--r--. 1 root root 0 Mar 8 22:18 file5 [root@lib data]#ls -ld file1 -rw-r--r--. 1 root root 61726 Mar 8 22:20 file1 root@lib data]#type ls ls is aliased to `ls --color=auto' [root@lib data]#alias ls alias ls='ls --color=auto'

​文件的三个时间​

state 查看文件状态access:读时间。以1day为间隔,或者小于modify时触发更新。modify:写时间change:元数据时间

[root@lib data]#stat file1 File: file1 Size: 80 Blocks: 8 IO Block: 4096 regular fileDevice: 10302h/66306d Inode: 137 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:default_t:s0Access: 2022-03-08 22:46:42.067528952 +0800Modify: 2022-03-08 22:45:05.013529733 +0800Change: 2022-03-08 22:46:24.224529096 +0800 Birth: 2022-03-08 22:20:10.867541750 +0800

​其他​

file : 判断文件类型Linux和Windows文本文件的行结束标志不同。在Linux中,文本文 件用"/n"表示回车换行,而Windows用"/r/n"表示回车换行。CRLF:回车换行。/r十六进制:0d . /n十六进制:0a . 从windows中拷贝文件到linux中需要转换格式。

[root@lib data]#file win.txtwin.txt: ASCII text, with CRLF line terminators[root@lib data]#dos2unix win.txtdos2unix: converting file win.txt to Unix format...[root@lib data]#file win.txtwin.txt: ASCII text

文件通配符

​常见通配符​

* :匹配0个或多个字符,但不匹配”.“开头的文件,即隐藏文件!*:上一个命令的参数?:匹配任何单个字符:当前用户家目录-:前一个目录[0-9]:匹配数字范围.一个字符[a-z]:匹配字母范围,一个字符[A-Z]:匹配字母范围,一个字符[root]:匹配列表中任意一个字符[^root]:匹配列表以外的任意一个字符[^a-z]:匹配列表中以外任意一个字符[:lower:]:任意一个小写字符[:uper:]:任意一个大写字符[:digit:]:0-9 任意一个数字[:alnum:]:英文大小写及字符。0-9,a-z,A-Z。{..}:一个序列{A,B}:A 和 B 组成的序列{1..20..3}:以3为间隔的序列 [root@lib data]#ll file[a-c].txt-rw-r--r--. 1 root root 7 Mar 9 12:49 filea.txt-rw-r--r--. 1 root root 0 Mar 9 12:52 fileA.txt-rw-r--r--. 1 root root 2542 Mar 9 12:50 fileb.txt-rw-r--r--. 1 root root 0 Mar 9 12:52 fileB.txt-rw-r--r--. 1 root root 0 Mar 9 12:48 filec.txt[root@lib data]#ll file{a..c}.txt-rw-r--r--. 1 root root 7 Mar 9 12:49 filea.txt-rw-r--r--. 1 root root 2542 Mar 9 12:50 fileb.txt-rw-r--r--. 1 root root 0 Mar 9 12:48 filec.txt[root@lib data]#ll file[1-6].txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file1.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file2.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file3.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file4.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file5.txt[root@lib data]#ll file{1..6}.txtls: cannot access 'file6.txt': No such file or directory-rw-r--r--. 1 root root 0 Mar 9 12:59 file1.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file2.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file3.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file4.txt-rw-r--r--. 1 root root 0 Mar 9 12:59 file5.txt[root@lib data]#ls -a /root. .bash_logout .config Documents initial-setup-ks.cfg Pictures Templates.. .bash_profile .cshrc Downloads .local .pki Videosanaconda-ks.cfg .bashrc .dbus .esd_auth .mozilla Public .viminfo.bash_history .cache Desktop .ICEauthority Music .tcshrc .Xauthority[root@lib data]#ll i*[[:lower:]]-rw-r--r--. 1 root root 0 Mar 9 13:49 iddd.txt-rw-r--r--. 1 root root 0 Mar 9 13:50 iss1.txt[root@lib data]#ll [0-9]*[^0-9]-rw-r--r--. 1 root root 0 Mar 9 13:22 1.txt-rw-r--r--. 1 root root 0 Mar 9 13:34 5.txt[root@lib data]#ll [^a-Z]*-rw-r--r--. 1 root root 0 Mar 9 13:34 111111-rw-r--r--. 1 root root 0 Mar 9 13:23 1ddd5-rw-r--r--. 1 root root 0 Mar 9 13:22 1.txt-rw-r--r--. 1 root root 0 Mar 9 13:34 5.txt[root@lib data]#ll /etc/rc[0-6]*lrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc0.d -> rc.d/rc0.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc1.d -> rc.d/rc1.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc2.d -> rc.d/rc2.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc3.d -> rc.d/rc3.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc4.d -> rc.d/rc4.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc5.d -> rc.d/rc5.dlrwxrwxrwx. 1 root root 10 Jul 28 2021 /etc/rc6.d -> rc.d/rc6.d[root@lib data]#ll /etc/[mnrp]*.conf-rw-r--r--. 1 root root 5165 Jun 30 2021 /etc/man_db.conf-rw-r--r--. 1 root root 1108 Jun 24 2021 /etc/mke2fs.conf-rw-r--r--. 1 root root 2620 May 11 2019 /etc/mtools.conf-rw-r--r--. 1 root root 1160 Jul 30 2021 /etc/nfs.conf-rw-r--r--. 1 root root 3606 Jul 30 2021 /etc/nfsmount.conflrwxrwxrwx. 1 root root 29 Mar 2 17:55 /etc/nsswitch.conf -> /etc/authselect/nsswitch.conf-rw-r--r--. 1 root root 1362 May 14 2019 /etc/pbm2ppa.conf-rw-r--r--. 1 root root 6300 May 14 2019 /etc/pnm2ppa.conf-rw-r--r--. 1 root root 433 Apr 27 2020 /etc/radvd.conf-rw-r--r--. 1 root root 1787 Jun 19 2021 /etc/request-key.conf-rw-r--r--. 1 root root 80 Mar 6 19:35 /etc/resolv.conf-rw-r--r--. 1 root root 3186 Aug 11 2021 /etc/rsyslog.conf

文本管理命令

​复制文件和目录​

使用 cp 命令可以实现文件或目录的复制-i :目标存在,覆盖前提醒-f: froce-r,-R:递归复制目录所有内容-b:目标存在,覆盖前备份。默认形式 filename--backup=numbered:目标存在,覆盖前备份,多个版本,形式filename #~-p:拥有者和时间戳不变-d:不复制原文件,只复制链接-a:等同于-dpr-u:update 只复制源比目标新的文件或目标不存在的文件

[root@lib data]#type cpcp is aliased to `cp -i'[root@lib data]#cp lv/zh.txt /data[root@lib data]#ll zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.txt[root@lib data]#cp lv/zh.txt /datacp: overwrite '/data/zh.txt'? [root@lib data]#cp -b lv/zh.txt /datacp: overwrite '/data/zh.txt'? y[root@lib data]#ll zh*-rw-r--r--. 1 root root 25 Mar 9 17:35 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.txt[root@lib data]#\cp -f --backup=numbered lv/zh.txt /data [root@lib data]#\cp -f --backup=numbered lv/zh.txt /data [root@lib data]#\cp -f --backup=numbered lv/zh.txt /data [root@lib data]#\cp -f --backup=numbered lv/zh.txt /data [root@lib data]#\cp -f --backup=numbered lv/zh.txt /data [root@lib data]#ll zh*-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:35 zh.txt.1-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.2-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.3-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.4-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.5-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.6-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.7[root@lib data]#cp -p lv/zh.txt /data/zh1.txt[root@lib data]#ll zh*-rw-rw-r--. 1 lv lv 25 Mar 9 17:05 zh1.txt-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:35 zh.txt.1-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.2-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.3-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.4-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.5-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.6-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.7[root@lib data]#cp -a /root /data/rootdir[root@lib data]#ll rootdirtotal 8-rw-------. 1 root root 1338 Mar 2 17:56 anaconda-ks.cfgdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Desktopdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Documentsdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Downloads-rw-r--r--. 1 root root 1788 Mar 2 20:26 initial-setup-ks.cfgdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Musicdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Picturesdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Publicdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Templatesdrwxr-xr-x. 2 root root 6 Mar 3 16:08 Videos[root@lib data]#cp -a /etc/ /data/backup`date +%F_%T`[root@lib data]#ll -d back*drwxr-xr-x. 142 root root 8192 Mar 8 23:00 backup2022-03-09_17:41:23

​移动文件​

mv命令可以实现文件或目录的移动和改名-i-f-b 参数同cp命令rename 可以批量修改文件名称

[root@lib data]#ll zh*-rw-rw-r--. 1 lv lv 25 Mar 9 17:05 zh1.txt-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.txt-rw-r--r--. 1 root root 25 Mar 9 17:35 zh.txt.1-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.2-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.txt.3-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.4-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.5-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.6-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.txt.7[root@lib data]#rename 'txt' 'text' zh*[root@lib data]#ll zh*-rw-rw-r--. 1 lv lv 25 Mar 9 17:05 zh1.text-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.text-rw-r--r--. 1 root root 25 Mar 9 17:34 zh.text-rw-r--r--. 1 root root 25 Mar 9 17:35 zh.text.1-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.text.2-rw-r--r--. 1 root root 25 Mar 9 17:37 zh.text.3-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.text.4-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.text.5-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.text.6-rw-r--r--. 1 root root 25 Mar 9 17:38 zh.text.7

文件删除和节点表结构

使用rm命令可以删除文件-r:递归-f:force删除文件有时不能及时的释放磁盘(如文件正在被占用)此时可以使用">" 及时的释放磁盘空间.依赖于BASH。cat /dev/null > /boot/bigfile.img

[root@lib data]#ll zh1.text-rw-rw-r--. 1 lv lv 25 Mar 9 17:05 zh1.text[root@lib data]#>zh1.text[root@lib data]#ll zh1.text-rw-rw-r--. 1 lv lv 0 Mar 9 21:34 zh1.text

硬链接,软链接,重定向

​硬链接​ :本质上就是给一个文件起一个新的名称,实质上是同一个文件.不支持跨设备,只能对文件。

ln

ln filename [linkname]

​软连接​:一个符号链接指向另一个文件,软链接文件和原文件本质上不是同一个文件。支持跨设备。

[root@lib data]#ll z1*-rw-rw-r--. 1 lv lv 7 Mar 9 23:01 z11.txt[root@lib data]#ln z11.txt z111.txt[root@lib data]#ll z1*-rw-rw-r--. 2 lv lv 7 Mar 9 23:01 z111.txt-rw-rw-r--. 2 lv lv 7 Mar 9 23:01 z11.txt[root@lib data]#ll -i z1*178 -rw-rw-r--. 2 lv lv 7 Mar 9 23:01 z111.txt178 -rw-rw-r--. 2 lv lv 7 Mar 9 23:01 z11.txt

管道和重定向

linux给程序提供了三种I/O标准输入 :0。comand < file。标准输出:1 ; 1> 或者> 。输出到文件,终端,错误输出 。追加到文件>> 。标准错误输出:2; 2> ,输出到文件,终端,标准输出。追加到文件2>> 。合并输出:&> 或者>&,输出到文件,终端。 追加到文件 &>>格式:COMMAND > /path/to/file.out 2>&1 (顺序很重要)

COMMAND >> /path/to/file.out 2>&1

root@lib data]#ll f1 xx 2>&1 1>hhls: cannot access 'xx': No such file or directory[root@lib data]#cat hh-rw-r--r--. 1 root root 0 Mar 10 00:30 f1[root@lib data]#ll f1 xx 1>hh 2>&1[root@lib data]#cat hhls: cannot access 'xx': No such file or directory-rw-r--r--. 1 root root 0 Mar 10 00:30 f1

tee 命令重定向到两个方向 ,文件和终端。-a 追加

[root@lib data]#ll | tee tee.txttotal 16-rw-r--r--. 1 root root 564 Mar 10 01:09 df.txt-rw-r--r--. 1 root root 0 Mar 10 00:30 f1-rw-r--r--. 1 root root 92 Mar 10 00:32 hh-rw-r--r--. 1 root root 8 Mar 10 01:18 linux.txt-rw-r--r--. 1 root root 0 Mar 10 00:59 tr-rw-r--r--. 1 root root 12 Mar 10 01:14 win.txt[root@lib data]#cat tee.txt total 16-rw-r--r--. 1 root root 564 Mar 10 01:09 df.txt-rw-r--r--. 1 root root 0 Mar 10 00:30 f1-rw-r--r--. 1 root root 92 Mar 10 00:32 hh-rw-r--r--. 1 root root 8 Mar 10 01:18 linux.txt-rw-r--r--. 1 root root 0 Mar 10 00:59 tr-rw-r--r--. 1 root root 12 Mar 10 01:14 win.txt

​其他​

合并多个程序

{;;}:{ll;cat;} (; ; ):(ll;cat;)

tr :转换和删除字符

格式:tr [option] set1 set2

-d:删除第一字符集字符-s: 去重-t:将第一字符集字符转化为第二字符集字符

[root@lib data]#dfFilesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 970004 0 970004 0% /devtmpfs 998404 0 998404 0% /dev/shmtmpfs 998404 9488 988916 1% /runtmpfs 998404 0 998404 0% /sys/fs/cgroup/dev/nvme0n1p1 104806400 5413576 99392824 6% //dev/nvme0n1p2 52403200 398444 52004756 1% /data/dev/nvme0n1p5 999320 193968 736540 21% /boottmpfs 199680 12 199668 1% /run/user/42tmpfs 199680 0 199680 0% /run/user/0[root@lib data]#df > df.txt[root@lib data]#tr -s ' ' < df.txtFilesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 970004 0 970004 0% /devtmpfs 998404 0 998404 0% /dev/shmtmpfs 998404 9488 988916 1% /runtmpfs 998404 0 998404 0% /sys/fs/cgroup/dev/nvme0n1p1 104806400 5413576 99392824 6% //dev/nvme0n1p2 52403200 398420 52004780 1% /data/dev/nvme0n1p5 999320 193968 736540 21% /boottmpfs 199680 12 199668 1% /run/user/42tmpfs 199680 0 199680 0% /run/user/0[root@lib data]#file win.txtwin.txt: ASCII text, with CRLF line terminators[root@lib data]#tr -d '\r' linux.txt[root@lib data]#file linux.txtlinux.txt: ASCII text

用户,组和权限

和文件,组相关文件

/etc/passwd/etc/shadow/etc/group /etc/gpasswd

passwd 格式

用户名 密码 UID GID 用户全名 目录 SHELL

生成随机密码

[root@lib data]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12 OMbEjACNT9C5[root@lib data]#

​用户和组管理命令​

用户管理命令

useradd

-u UID -g GID -N 不创建私用组做主组,使用users组做主组 -C 用户注释 -d 家目录 -s SHELL -G 附加组,组必须先存在 -r 系统用户 -m 系统用户家目录 -M 不创建家目录,用于非系统用户 -p 指定加密密码

useradd 命令默认值设定由/etc/default/useradd 定义添加新用户相关的文件

/etc/default/useradd/etc/skel/*/etc/login.defs

[root@lib data]#useradd -r -u 48 -g apache -s /sbin/nologin -d /var/-c "apache" apache[root@lib data]#id apacheuid=48(apache) gid=1001(apache) groups=1001(apache)[root@lib data]#cat /etc/passwd | tail -n -1apache:x:48:1001:apache:/var/data]#getent passwd apacheapache:x:48:1001:apache:/var/data]#useradd -p `openssl passwd -6 mage123` mage [root@lib data]#getent shadow mage mage:$6$cABtb3Q5MiwV9f9r$CtbRm4wIPV66rGKYyVrd7aSnISaXpCPUQ30Wlj8WtQ3RqbRU8zgFyfe65PGdzZIQHIw7T21.SJjk32RqO/D4C.:19063:0:99999:7:::

usermod :主要是/etc/passwd 里内容-l :改用户名称 其他于useradd 相似groupmems [选项] [动作]选项

-g --group 更改为指定组(只有rootc才可以执行)

动作

-a --add username 指定用户加入组-d --delete username 从组中删除用户-p -- purge 从组中清除所有用户-l --list 显示组成员列表-h --help 帮助

usermod 和 groupmems 都能修改用户和组的关系,前者从用户的角度,后者从组的角度。(纯属个人理解)

userdel

-r 删除家目录和邮箱(/var/spool/mail/)

passwd

--stdin

echo '12345' | passwd --stdin mage

chpasswdecho "tom:123" | chpasswdchage 修改用户密码策略,修改/etc/shadow 内容-d 更改密码时间-m mindays-M max-days-w warndays -I inactive 密码过期后宽限时间-E expiredate 用户的有效期-l 显示密码策略newgrp

newgrp 命令可以从用户的附加组中选择一个群组,作为用户新的初始组。

组账号维护命令

groupaddgroupmod groupdelchown option owner[:group] file 设置文件属主-R 递归 很危险--reference=file 参考file文件的属性修改

[root@lib data]#mkdir -p /data/tom/cat [root@lib data]#ll tom total 0 drwxr-xr-x. 2 root root 6 Mar 13 08:50 cat [root@lib data]#chown -R lv:lv tom [root@lib data]#ll tom total 0 drwxr-xr-x. 2 lv lv 6 Mar 13 08:50 cat

chgrp option group file 修改属主-R--reference groupfile

文件权限管理

文件权限针对对象owner 属主 u group 属组 gother 其他 o权限分为三种rwx 文件夹的x权限表示读取元文件 。大写X 表示只给文件夹x 权限。

[lv@lib ~]$id lvuid=1000(lv) gid=1000(lv) groups=1000(lv)[lv@lib dir]$lltotal 0drwxr-xr--. 2 root root 18 Mar 13 14:46 cat[lv@lib dir]$ll catls: cannot access 'cat/lili': Permission deniedtotal 0-????????? ? ? ? ? ? lili[lv@lib dir]$ls catls: cannot access 'cat/lili': Permission deniedlili[root@lib var]#groupadd apps;useradd -g apps tomcat;chown -R tomcat:apps /var/tmp [root@lib var]#id tomcatuid=1002(tomcat) gid=1003(apps) groups=1003(apps)[root@lib var]#ll -d /var/tmp drwxrwxrwt. 5 tomcat apps 265 Mar 13 17:08 /var/tmp[root@lib var]#chmod 660 /var/tmp [root@lib var]#ll -d /var/tmp drw-rw----. 5 tomcat apps 265 Mar 13 17:08 /var/tmp

​新建文件和目录的默认权限​

umask 值

新建文件的默认权限= 666-umask,如果某位是奇数,自动加1,偶数位不变。新建文件夹的默认权限=777-umask非特权用户umask=002特权用户umask=022

新建用户,家目录的权限是700。如果/etc/login.defs 的HOME_MODE没有设置,则使用umask值创建家目录。

[root@lib data]#umask 666;touch test ;ll test----------. 1 root root 0 Mar 13 16:57 test

文件特殊属性和FACL

特殊权限SUID 作用于二进制文件。运行者将拥有所有者的权限。SGID 作用于二进制文件。运行者将拥有所有组的权限。

作用于文件夹时,其下创建的文件夹和文件的属组与该文件属组相同。就是继承该文件属组。

STICKY 作用于目录,其下文件只能由属主删除。设置文件夹/文件特殊属性chattr (change attributes)

+i 不能删除,改名,更改。-i 去除属性。+a 不能删除,改名,只能追加内容。-a去除属性。

lsattr 查看文件特殊属性访问控制列表

访问控制权限实现了灵活的权限管理,除了文件所有者,所属组和其他人可以对更多用户设置权限。

ACL 生效顺序

所有者 自定义用户 属组|自定义组 其他人 +setfacl

-m 添加acl条目-x 删除acl条目-b 删除所有条目,恢复默认-R 递归操作子目录 --set-file=file 从文件中读取访问控制列表条目--set=ACL 覆盖替换当前访问列表,可以用来修改默认权限。ACL中要包括UGO默认权限的设置。

备份ACL

getfacl -R /tmp/dir > acl.txt

消除ACL权限

setfacl -R -b /tmp/dir

还原ACL权限

setfacl -R --set-file=acl.txt /tmp/dirsetfacl --restore acl.txt

复制file1的acl权限给file2

getfacl file1 | setfacl --set-file=- file2

查看ACL权限

getfacl -R /tmp/dir

[root@lib cat]#setfacl -m u:lv:rwx lili[root@lib cat]#getfacl lili # file: lili# owner: root# group: rootuser::rw-user:lv:rwxgroup::r--mask::rwxother::r--[root@lib cat]#ll lili -rw-rwxr--+ 1 root root 0 Mar 13 20:12 lili #属组位置的权限是mask的值,实际属组权限 getfacl 查看为:group::r-- 。[root@lib cat]#setfacl -m mask::rw lili[root@lib cat]#getfacl lili # file: lili# owner: root# group: rootuser::rw-user:lv:rwx #effective:rw-group::r-- mask::rw-other::r--[root@lib cat]#ll lili -rw-rw-r--+ 1 root root 0 Mar 13 20:12 lili[root@lib cat]#chmod g-w lili [root@lib cat]#ll lili -rw-r--r--+ 1 root root 0 Mar 13 20:12 lili[root@lib cat]#getfacl lili# file: lili# owner: root# group: rootuser::rw-user:lv:rwx #effective:r--group::r--mask::r--other::r--[root@lib dir]#ll -d catdrw-r--r--. 2 root root 18 Mar 13 20:12 cat[root@lib dir]#setfacl --set u::rw,u:lv:rw,g::r,o::r cat[root@lib dir]#ll cattotal 0-rw-r--r--. 1 root root 0 Mar 13 20:12 lili[root@lib dir]#ll -d catdrw-rw-r--+ 2 root root 18 Mar 13 20:12 cat[root@lib dir]#getfacl cat# file: cat# owner: root# group: rootuser::rw-user:lv:rw-group::r--mask::rw-other::r--

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker-Harbor私有仓库部署与管理
下一篇:如何利用地址来查询比特币交易
相关文章

 发表评论

暂时没有评论,来抢沙发吧~