Linux/Centos7账号与权限管理(超详细实例操作)
Linux/Centos7账号与权限管理
- 管理用户账号、组账号
- 查询账号信息
- 设置文件和目录的权限
- 设置文件和目录的归属
一、前言概述
作为多用户、多任务(Multi-Users,Multi-tasks)的服务器操作系统,Linux提供了严格的权限管理机制,主要从用户身份、文件权限两个方面对资源进行限制。Linux基于用户身份对资源访问进行控制。
- 用户账号类别:
- 超级用户--root,权限最高
- 普通用户--自定义用户 匿名用户(nobody)类似于Windows中的Guest
- 程序用户--控制程序和服务的,无法登陆
- 组账号--用户的集合(其实可以认为是用户权限的集合)
- 基本组(私有组)--伴随着用户创建而创建 与用户同名(也可以自己设置) 但创建一个用户的时候必有其组
- 附加组(公有组)--直接创建空组,可以添加已有的用户,给组设置权限,该组中所有用户都具备此权限
- UID和GID
- UID(User IDentity) --用户标识号 (默认情况下0表示root 1~999 表示(系统)程序用户 1000~60000 表示(登录)普通用户)
- GID(Group IDentity)--组标识号
二、用户账号文件
/etc/passwd--保存用户名称、宿主目录、登录shell等基本信息
[root@lokott ~]# head -2 /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash--以冒号分隔 下面进行逐一解释
- root--用户账号名称
- x--使用加密算法加密的密码,这里是不会显示的
- 0--用户UID号
- 0--所属基本组账号的UID
- root--用户全名,可以填写用户详细信息
- /root--宿主目录
- /bin/bash--指定用户的登录Shell
/etc/shadow--保存用户的密码、账号有效等信息
[root@lokott ~]# head -2 /etc/shadow //查看头两行信息root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::bin:*:17110:0:99999:7:::[root@lokott ~]#
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::--以冒号分隔,下面逐一解释
root--用户账号名称
粗体部分--表示加密算法加密的密码,登录输入该密码是无效的
::--之间的内容是上次修改时间
0--密码的最短有效天数(0表示随时可以更改)
99999--密码的最长有效天数
7--提前7天提醒用户口令将过期
:::--表示的是密码和账号过期之后的操作处理(基本可以忽略)
二、管理用户账号
1.添加用户账号--useradd命令
选项
- -u --指定用户的UID号,且该UID号没有被其他用户使用
- -d --指定用户的宿主目录位置(与-M一起使用时不生效!)
- -e--账号失效时间(过期时间)
- -g--基本组
- -G--附加组
- -M--不创家目录
- -s --指定用户的登录shell
实例:useradd -d /opt/mike (-g mike) -G caiwu -s /sbin/nologin mike
[root@lokott ~]# useradd -d /opt/mike -G caiwu -s /sbin/nolgin mike //注意需要先有caiwu组--groupadd caiwu[root@lokott ~]# tail -2 /etc/passwd //查看passwd文件最后两行信息lokott:x:1000:1000:lokott:/home/lokott:/bin/bashmike:x:1001:1001::/opt/mike:/sbin/nolgin[root@lokott ~]# tail -2 /etc/groupcaiwu:x:1002:mikemike:x:1001:[root@lokott ~]# tail -2 /etc/shadowlokott:$6$aq3AU9oDZf/ERE2D$Ol.zBTLNqbsPDdsJYE0yU3Wa7EUU1SonR3rUQ616PsgA2u.DtQ99ecTUbdw2y2RhmlaL75WlcqMsfEUNretgb0:18192:0:99999:7:::mike:!!:18200:0:99999:7:::[root@lokott ~]# id mike //查看mike的id信息uid=1001(mike) gid=1001(mike) 组=1001(mike),1002(caiwu)[root@lokott ~]# ls /home/ //因为-d 指定了用户的宿主目录,所以家目录创建在了指定的/opt/mike目录中demo lokott[root@lokott ~]# ls /opt/demo01.txt mike rh test[root@lokott ~]#
2.设置/更改用户口令(密码)passwd
passwd 选项 .... 用户名
- -d 清除密码
- -l 锁定
- -S 查看是否锁还是未锁 (大写!!!)
- -u 解锁
[root@lokott ~]# useradd -d /opt/lisi -s /sbin/nologin lisi[root@lokott ~]# tail -2 /etc/passwdlokott:x:1000:1000:lokott:/home/lokott:/bin/bashlisi:x:1001:1001::/opt/lisi:/sbin/nologin //这里/sbin/nologin是表示用户无法登录[root@lokott ~]# passwd lisi更改用户 lisi 的密码 。新的 密码: //需要你输入密码无效的密码: 密码少于 8 个字符 //因为输入了简单密码,可以继续输入一次也行,当然复杂密码就没问题重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。[root@lokott ~]# su - lisi最后一次失败的登录:四 10月 31 18:49:45 CST 2019从 :1:1 上最有一次成功登录后有 1 次失败的登录尝试。This account is currently not available. // 无法登录,因为登录的shell是/sbin/nologin[root@lokott ~]# pwd/root[root@lokott ~]# vim /etc/passwd //进入passwd文件中将该用户的/sbin/nologin改为/bin/bash[root@lokott ~]# su - lisi //root切换用户时不需要输入密码上一次登录:四 10月 31 18:52:42 CST 2019pts/2 上[lisi@lokott ~]$ pwd //登录lisi用户/opt/lisi[lisi@lokott ~]$ su //相当于su - root 下面的结果表明普通用户切换root时需要密码,输入的密码不会显示密码:[root@lokott lisi]# pwd/opt/lisi[root@lokott lisi]# cd [root@lokott ~]# pwd //表明切换到root用户/root[root@lokott ~]#passwd -l lisi //锁定lisi的密码锁定用户 lisi 的密码 。passwd: 操作成功[root@lokott ~]# passwd -S lisi //查看lisi用户的密码状态lisi LK 2019-10-31 0 99999 7 -1 (密码已被锁定。)[root@lokott ~]# su - lisi上一次登录:四 10月 31 19:01:10 CST 2019pts/2 上 [lisi@lokott ~]$ pwd //可以看出虽然被锁定了但是root可以切换登录且无需密码/opt/lisi[lisi@lokott ~]$ [root@lokott ~]# passwd -u lisi解锁用户 lisi 的密码。passwd: 操作成功[root@lokott ~]# passwd -S lisilisi PS 2019-10-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
该实例可以作以下总结:
- 其中/sbin/nologin 用户无法直接登录和被切换登录
- 执行passwd -l lisi 后用户被锁定,在图形用户界面是无法登录的,但是可以从root用户切换登录(而且root切换时不需要密码)
3.修改用户账号的属性usermod
- -u 修改用户的UID号
- -d 修改用户的宿主目录位置
- -e 修改用户账户失效时间
- -s 指定用户的登录shell
- -l 更改用户登录账号名称
- -L 锁定 ----- 相当于passwd -l
- -U 解锁 ----- 相当于passwd -u
其中1-4与useradd类似,演示以下-l的操作
[root@lokott ~]# usermod -l zhangsan lisiusermod: user lisi is currently used by process 71736[root@lokott ~]# ps -ef | grep lisiroot 71735 71117 0 19:01 pts/2 00:00:00 su - lisilisi 71736 71735 0 19:01 pts/2 00:00:00 -bashroot 72433 71829 0 19:11 pts/2 00:00:00 su - lisilisi 72435 72433 0 19:11 pts/2 00:00:00 -bashroot 73325 72935 0 19:24 pts/2 00:00:00 grep --color=auto lisi[root@lokott ~]# kill 71735 //也可以重启,自动就会结束进程[root@lokott ~]# Session terminated, killing shell... ...已杀死。[root@lokott ~]# exit[root@lokott ~]# usermod -l zhangsan lisi[root@lokott ~]# tail -2 /etc/passwdmike:x:1001:1001::/opt/mike:/sbin/nolginzhangsan:x:1002:1003::/opt/lisi:/bin/bash //只是把lisi用户名字改了但是家目录的名字还是lisi[root@lokott ~]#ls /optdemo01.txt lisi mike rh test [root@lokott ~]#
4.删除用户账号userdel
-r 宿主目录一起删除,下面的演示接着上面的操作
[root@lokott ~]# tail -2 /etc/passwd //显示两个用户mike:x:1001:1001::/opt/mike:/sbin/nolginzhangsan:x:1002:1003::/opt/lisi:/bin/bash[root@lokott ~]# userdel -r mike //删除mike用户并且"抄家"[root@lokott ~]# tail -3 /etc/passwd tcpdump:x:72:72::/:/sbin/nologinlokott:x:1000:1000:lokott:/home/lokott:/bin/bashzhangsan:x:1002:1003::/opt/lisi:/bin/bash[root@lokott ~]# ls -l /opt/mike //表明-r的作用将指定的家目录删除ls: 无法访问/opt/mike: 没有那个文件或目录[root@lokott ~]# ls /opt //当前在/opt下有lisi家目录(名字在上面改成了zhangsan)demo01.txt lisi rh test[root@lokott ~]# userdel -r zhangsan //删除zhangsan用户,同时也会将lisi目录删除[root@lokott ~]# tail -3 /etc/passwdpostfix:x:89:89::/var/spool/postfix:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinlokott:x:1000:1000:lokott:/home/lokott:/bin/bash[root@lokott ~]# ls -l /opt //因删除了zhangsan用户且-r删除家目录,不加-r则不会删除总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 root root 32 10月 31 18:33 test[root@lokott ~]# useradd wang //创建一个新的用户[root@lokott ~]# usermod -l sung wang //改用户名[root@lokott ~]# tail -2 /etc/passwd //查看passwd信息lokott:x:1000:1000:lokott:/home/lokott:/bin/bashsung:x:1001:1003::/home/wang:/bin/bash[root@lokott ~]# userdel sung //删除sung用户但是不会删除wang[root@lokott ~]# ls /home/demo lokott wang
5.用户账号的初始配置文件
文件来源--新建用户账号是从/etc/skel目录中复制过来 (cd到家目录中用ls -a)
- ~/.bash_profile 表示进入bash后被加载
- ~/.bashrc 用户登录时被加载
- ~/.bash_logout 注销的时候执行
三、管理组账号
组账号文件--与用户账号文件类似
- /etc/group:保存组账号基本信息
- /etc/shadow:保存组账号的密码信息(一般不会设置)
1.添加组账号groupadd命令
groupadd 选项 组名
-g --指定GID
[root@lokott ~]# groupadd lisi //添加lisi组[root@lokott ~]# tail /etc/group //查看group信息postdrop:x:90:postfix:x:89:stapusr:x:156:stapsys:x:157:stapdev:x:158:tcpdump:x:72:lokott:x:1000:printadmin:x:985:caiwu:x:1002:lisi:x:1003:[root@lokott ~]# groupadd -g 1005 wangwu //添加wangwu组且给其配置GID为1005[root@lokott ~]# tail -2 /etc/grouplisi:x:1003:wangwu:x:1005:[root@lokott ~]#
2.添加组成员和删除组成员
添加--gpasswd- -a 向组中添加一个用户 a不会覆盖
- -d 从组中删除一个用户
- -M 逗号分隔设置组的成员列表,会覆盖组成员,将原有的给踢出
[root@lokott ~]# tail -2 /etc/group //查看组信息lisi:x:1003:wangwu:x:1005:[root@lokott ~]# tail -2 /etc/passwd //查看用户信息tcpdump:x:72:72::/:/sbin/nologinlokott:x:1000:1000:lokott:/home/lokott:/bin/bash[root@lokott ~]# useradd lisi //添加lisi用户会失败,因为上面显示lisi组已经存在useradd:lisi 组已经存在 - 如果您想将此用户加入到该组,请使用 -g 参数。[root@lokott ~]# useradd -g lisi lisi //将lisi用户添加到lisi组中[root@lokott ~]# useradd zhangsan //再添加一个zhangsan用户[root@lokott ~]# tail -2 /etc/passwd //查看用户信息lisi:x:1001:1003::/home/lisi:/bin/bashzhangsan:x:1002:1006::/home/zhangsan:/bin/bash[root@lokott ~]# gpasswd -a lisi wangwu //添加lisi到wangwu组中(先得有wangwu组)正在将用户"lisi"加入到"wangwu"组中[root@lokott ~]# id lisi //查看lisi的UIDuid=1001(lisi) gid=1003(lisi) 组=1003(lisi),1005(wangwu)[root@lokott ~]# gpasswd -d lisi wangwu //从wangwu组中删除lisi正在将用户"lisi"从"wangwu"组中删除[root@lokott ~]# id lisi //查看lisi的UID,已经不属于wnagwu组了uid=1001(lisi) gid=1003(lisi) 组=1003(lisi)[root@lokott ~]# tail -5 /etc/passwd //显示用户信息postfix:x:89:89::/var/spool/postfix:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinlokott:x:1000:1000:lokott:/home/lokott:/bin/bashlisi:x:1001:1003::/home/lisi:/bin/bashzhangsan:x:1002:1006::/home/zhangsan:/bin/bash[root@lokott ~]# tail -5 /etc/group //显示组信息printadmin:x:985:caiwu:x:1002:lisi:x:1003:wangwu:x:1005:zhangsan:x:1006:[root@lokott ~]# gpasswd -M lisi,zhangsan wangwu //将两个用户批量添加到wangwu组中[root@lokott ~]# tail -5 /etc/groupprintadmin:x:985:caiwu:x:1002:lisi:x:1003:wangwu:x:1005:lisi,zhangsan //查看到信息zhangsan:x:1006:[root@lokott ~]# useradd hh //添加两个新的用户,为了验证-M的覆盖功能[root@lokott ~]# useradd ww[root@lokott ~]# gpasswd -M hh,ww wangwu[root@lokott ~]# tail -5 /etc/grouplisi:x:1003:wangwu:x:1005:hh,ww //原本的lisi和zhangsan都被踢出去了zhangsan:x:1006:hh:x:1007:ww:x:1004:
删除--groupdel 组账号注意!!!不能使用 groupdel 命令随意删除组。此命令仅适用于删除那些 "不是任何用户初始组(主组 )" 的组,换句话说,如果有组还是某用户的初始组(主组),则无法使用 groupdel 命令成功删除。例如:
[root@lokott ~]# tail -10 /etc/group stapdev:x:158:tcpdump:x:72:lokott:x:1000:printadmin:x:985:caiwu:x:1002:lisi:x:1003:wangwu:x:1005:hh,wwzhangsan:x:1006:hh:x:1007:ww:x:1004:[root@lokott ~]# groupdel caiwu [root@lokott ~]# groupdel lisigroupdel:不能移除用户"lisi"的主组[root@lokott ~]# groupdel wangwu [root@lokott ~]# groupdel zhangsan groupdel:不能移除用户"zhangsan"的主组[root@lokott ~]# groupdel hhgroupdel:不能移除用户"hh"的主组[root@lokott ~]# groupdel wwgroupdel:不能移除用户"ww"的主组[root@lokott ~]#
如果真的要删除,可以将创建该组的初始成员删除后再删除
[root@lokott note]# tail -1 /etc/passwdww:x:10000:10000::/home/ww:/bin/bash[root@lokott note]# groupdel wwgroupdel:不能移除用户"ww"的主组[root@lokott note]# userdel ww[root@lokott note]# tail -1 /etc/groupzhangsan:x:1006:[root@lokott note]#
命令lastb是用来查看最近登录的信息[root@lokott ~]# lastblisi :1 :1 Thu Oct 31 18:49 - 18:49 (00:00) root pts/1 Thu Oct 31 17:07 - 17:07 (00:00) root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00) root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00) root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00) btmp begins Thu Oct 24 14:43:01 2019[root@lokott ~]#
四、文件/目录的权限及归属
1.访问权限
读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x: 允许运行程序、切换目录
2.归属(所有权)
属主:用于该文件或目录的用户账号
属组:用于该文件或目录的组账号
3.结合实例介绍权限
[root@lokott ~]# ls -l总用量 8-rw-------. 1 root root 1785 10月 23 12:21 anaconda-ks.cfg-rw-r--r--. 1 root root 1833 10月 23 12:24 initial-setup-ks.cfgdrwxr-xr-x. 4 root root 73 10月 30 22:03 note //以此为例介绍
下面对drwxr-xr-x. 4 root root 73 10月 30 22:03 note 进行解释
- d --文件类型(d表示目录、l表示链接文件、c表示字符设备(输入输出)文件、b块设备(存储)文件 - 普通文件)
- rwx 、 r-x、r-x分别代表是属主权限(这里表示可读可写可执行)、属组权限(这里表示可读可执行)、other权限(这里表示可读可执行)
- 4 --子目录的数量
- 第一个root-- 属主
5.第二个 root --属组 - 73--大小
- 10月 30 22:03 --创建时间
- note --目录名(文件)
4.设置文件和目录的权限chmod 命令(-R 递归)
- chmod 【ugoa】【+-=】【rwx】
- chmod nnn 文件或目录(优先选择)
//下面是对文件的权限操作[root@lokott note]# touch 2.sh [root@lokott note]# ls -l 2.sh //2.sh权限是644-rw-r--r--. 1 root root 0 10月 31 21:41 2.sh [root@lokott note]# chmod u+x 2.sh [root@lokott note]# ls -l 2.sh -rwxr--r--. 1 root root 0 10月 31 21:41 2.sh[root@lokott note]# chmod ugo+w 2.sh [root@lokott note]# ls -l 2.sh -rwxrw-rw-. 1 root root 0 10月 31 21:41 2.sh[root@lokott note]# chmod 655 2.sh [root@lokott note]# ls -l 2.sh -rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh//下面是对目录的权限操作[root@lokott note]# ll //ll是ls -l --color 的别名总用量 8-rwxrwxrwx. 1 root root 0 10月 31 21:40 1.txt-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33drwxrwxrwx. 2 root root 26 10月 23 13:20 linux-cmd-rwxr-xr-x. 1 root root 30 10月 30 22:02 readme.txtdrwxrwxrwx. 2 root root 173 10月 30 21:56 shelldrwxr-xr-x. 2 root root 6 10月 31 21:38 test[root@lokott note]# which ll alias ll='ls -l --color=auto' /usr/bin/ls[root@lokott note]# chmod 777 test/ 更改权限为777[root@lokott note]# ll总用量 8-rwxrwxrwx. 1 root root 0 10月 31 21:40 1.txt-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33drwxrwxrwx. 2 root root 26 10月 23 13:20 linux-cmd-rwxr-xr-x. 1 root root 30 10月 30 22:02 readme.txtdrwxrwxrwx. 2 root root 173 10月 30 21:56 shelldrwxrwxrwx. 2 root root 6 10月 31 21:38 test[root@lokott note]# touch test/1.sh[root@lokott note]# ls -l test/1.sh -rw-r--r--. 1 root root 0 10月 31 21:50 test/1.sh //目录的权限与其子目录与文件权限无关除非递归-R[root@lokott note]# chmod 777 -R test/ //递归更改权限 即test和其子目录的所有文件权限都是777[root@lokott note]# ls -l test/1.sh -rwxrwxrwx. 1 root root 0 10月 31 21:50 test/1.sh
如果给予属组和其他用户只有写权限(622),可以强制写入,但会覆盖原本的内容!
[root@lokott test]# pwd //当前所在目录的绝对路径/opt/test[root@lokott test]# ll //显示详细信息总用量 8-rw-r--r--. 1 root root 13 10月 31 16:33 1.txt //除了root的其余用户权限为只读-rw--w--w-. 1 root root 18 10月 31 18:33 2.txt //除了root的其余用户权限为只写[root@lokott test]# cat 1.txt tehsdahello[root@lokott test]# cat 2.txt //这边原本的2.txt的内容如下2313542222244878[root@lokott lisi]# su - lisi //切换到lisi用户上一次登录:四 10月 31 22:36:45 CST 2019pts/1 上[lisi@lokott ~]$ cd /opt/test/[lisi@lokott test]$ ll //没有ls的权限ls: 无法打开目录.: 权限不够[lisi@lokott test]$ cat 1.txt //表示可以查看1.txt内容tehsdahello[lisi@lokott test]$ vim 1.txt //尝试写入数据[lisi@lokott test]$ cat 1.txt //可以wq!强制保存退出,结果是可以写入数据的tehsdahellodadaasdaadas[lisi@lokott test]$ cat 2.txtcat: 2.txt: 权限不够[lisi@lokott test]$ vim 2.txt[lisi@lokott test]$ cat 2.txt //似乎强制写入数据之后就可以查看,因为属主是lisi,但如果 //属主是root用户在lisi用户登录时就无法查看ssdad dsawdad[lisi@lokott test]$ ls -l 2.txt-rw--w--w-. 1 lisi lisi 14 10月 31 22:45 2.txt//使用echo命令重定向和追加形式写入数据到文本中[lisi@lokott test]$ echo "123123" > 2.txt [lisi@lokott test]$ cat 2.txt123123[lisi@lokott test]$ echo "123456" >> 2.txt[lisi@lokott test]$ cat 2.txt123123123456 [lisi@lokott test]$ su 密码:[root@lokott test]# ls -l总用量 8-rw-r--r--. 1 lisi lisi 27 10月 31 22:43 1.txt-rw--w--w-. 1 lisi lisi 14 10月 31 22:47 2.txt[root@lokott test]# cat 2.txt 123123123456[root@lokott test]#
5.设置文件和目录的归属chown
- chown 属主
- chown :属组
- chown 属主:属组
[root@lokott opt]# ls -l 总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 root root 32 10月 31 22:45 test[root@lokott opt]# chown lisi test [root@lokott opt]# ls -l 总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 lisi root 32 10月 31 22:45 test //test目录自身属主变成lisi而属组未发生改变[root@lokott opt]# chown root:lisi test[root@lokott opt]# ls -l 总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 root lisi 32 10月 31 22:45 test //test目录自身属主变成root而属组变为lisi[root@lokott opt]# chown :root test[root@lokott opt]# ls -l 总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 root root 32 10月 31 22:45 test //test目录自身属组变为root
6.权限掩码umask
作用:控制新建的文件或者目录的权限--注意只是对新建的有效
默认权限去除umask的权限为
[root@lokott opt]# mkdir umasktest[root@lokott opt]# umask 000 umasktest/[root@lokott opt]# ll总用量 0-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txtdrwxr-xr-x. 2 root root 6 3月 26 2015 rhdrwx-wx-wx. 2 root lisi 32 10月 31 22:45 testdrwxrwxrwx. 2 root root 6 10月 31 23:26 umasktest[root@lokott opt]# cd umasktest/[root@lokott umasktest]# mkdir 2019[root@lokott umasktest]# touch 1.txt[root@lokott umasktest]# ll总用量 0-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt //文件权限为666drwxrwxrwx. 2 root root 6 10月 31 23:26 2019 //目录权限为777[root@lokott umasktest]# cd ..[root@lokott opt]# umask 111 umasktest/ //原本的1.txt和2019权限没有发生变化![root@lokott opt]# cd umasktest/[root@lokott umasktest]# mkdir 2018[root@lokott umasktest]# touch 2.txt[root@lokott umasktest]# ll总用量 0-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txtdrw-rw-rw-. 2 root root 6 10月 31 23:28 2018 //目录权限为666drwxrwxrwx. 2 root root 6 10月 31 23:26 2019-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt // 2.txt权限为666[root@lokott umasktest]# cd ..[root@lokott opt]# umask 666 umasktest/[root@lokott opt]# cd umasktest/[root@lokott umasktest]# mkdir 2017[root@lokott umasktest]# touch 3.txt[root@lokott umasktest]# ll总用量 0-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txtd--x--x--x. 2 root root 6 10月 31 23:29 2017 //目录权限为111drw-rw-rw-. 2 root root 6 10月 31 23:28 2018drwxrwxrwx. 2 root root 6 10月 31 23:26 2019-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt----------. 1 root root 0 10月 31 23:29 3.txt //文件3.txt权限全为0 [root@lokott umasktest]# umask //查看umask值0666
五、总结
主要是对Linux/Centos7中账号与权限管理的介绍,主要是命令的选项结合操作对象的演示案例需要注意许多与正常思维不一致的地方,需要自己多试验多尝试!
谢谢阅读!