Linux的用户、组和权限管理linux
1、linux用户和组的概念shell
Linux是一个多用户多任务的操做系统,多用户是指多个用户能够在同一时间使用计算机系统。ide
用户:ui
1.什么是用户:用户是可以获取系统资源的权限的集合加密
2.用户分为三类:spa
管理员:具备使用系统全部权限的用户操作系统
普通用户:即通常用户,其使用系统的权限受限orm
系统用户:主要服务于应用,维护系统运行的用户,通常不提供密码登陆系统。blog
3.用户的相关信息存放位置递归
用户解析库:/etc/passwd
name:password:UID:GID:GECOS:directory:shell
用户的认证信息库:/etc/shadow
4.用户管理:
(1) useradd命令:建立新用户
useradd [选项] 登陆名
-c,--comment COMMENT:注释信息,通常为Full Name;
-d,--home /PATH/TO/HOME_DIR:家目录路径,目标路径不能事先存在,不然会有警告,不会建立skel相关的文件给用户。指定用来取代默认的/home/username的主目录;
-g,--gid GROUP :指定用户的基本组组名或GID;
-G:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;
-m,--create-home:强制建立家目录;
-M:不建立用户主目录,即更改系统在/etc/login.defs中的设置(CREATE_HOME)为yes;
-r,--system:建立一个系统用户;
-s,--shell SHELL: 用户的登陆shell名,默认为留空,让系统根据/etc/default/useradd中的SHELL变量选择默认的登陆shell。
-u,--uid UID :用户ID的数字值。
-e:用户帐号的过时期限,过时后会被锁定,日期格式YYYY-MM-DD
-f:密码过时后,帐户被 完全禁用以前的天数。0表示当即禁用,-1表示禁用这个功能。
useradd -D:显建立用户时的默认设置;
useradd -D 选项:设置某默认选项;
为用户提供默认配置的配置文件:
/etc/login.defs , /etc/default/useradd
(2) usermod:修改帐户信息
-c,--comment COMMENT:注释信息,通常为Full Name;
-d:修改家目录为新的位置,但通常应该同时使用-m选项以保证原家目录中的文件会被移动到新 的目录中;
-g:修改用户的GID或私有组名称;
-G:修改用户的附加组,修改时会覆盖原来的附加组,一同使用-a选项,表示为用户添加新的附 加组;
-l:修改当前用户的用户名
-u:修改用户的UID
-s:修改用户的登陆shell
-L:锁定用户的密码,会在用户加密的密码以前放置一个“!“
-U:解锁用户的密码,这将移除加密的密码以前的”!“
(3)userdel命令:删除用户帐号
-r,--remove:用户主目录中的文件将随用户主目录和用户邮箱一块儿删除;
(4)passwd命令:密码管理命令
passwd:修改本身的密码;
passwd username :修改其余用户的密码,仅root由此权限。
-l:锁定密码
-u:解锁密码
-d:清除密码
--stdin:从标准输入接收密码:echo “PASSWORD” | passwd --stdin USERNAME
(5)其余经常使用命令:
id命令:查看用户相关的id信息;
-u:仅查看uid
-g:仅查看gid
-G:查看所属的全部组的ID
-n:显示名称,而非ID
su命令:switch user 切换用户
su USERNAME :不读取目标用户的配置文件(非登陆式切换,半切换)
su -l USERNAME su - USERNAME :读取目标用户的配置文件(登陆式切换,彻底切换)
su -c command :仅以指定的用户的身份运行此处指定的命令,而不执行真正的身份切换操做
组:
1.什么是组:用户组是具备相同特征用户的逻辑集合,是权限的容器。
2.组分类
管理员组:
普通用户组:能够加入多个用户
系统组:通常加入一些系统用户
私有组(也称基本组):当建立用户时,若是没有为其指明所属组,则就为其定义一个私有的用 户组,其名称与用户名同名.
注:私有组能够变成普通用户组,当把其余用户加入到该组中,则其就变成了普通组。
3.组信息存放位置:
组解析库文件:/etc/group
GRPNAME:x:GID:user1, user2, ...
组名:密码点位符:GID:以此组为附加组的用户列表,以逗号分隔
组的认证信息库:/etc/gshadow
4.组管理
groupadd命令:添加组
groupadd [选项] group
-g GID:指明GID;
-r, --system:系统组;
groupmod命令:修改组信息
groupmod [选项] GROUP
-g :GID
-n NEW_NAME:修改组名;
groupdel命令:删除组
groupdel [选项] GROUP
gpasswd :为组添加密码
2、文件系统文件权限分类
1.
权限: r: readable,可读
w: writable, 可写
x:excutable, 可执行
2.例: drwxr-xr-x d表示是目录文件。
三类用户:
属主:owner, u : rwx,表示目录文件的拥有者有读、写和执行权限。
属组:group, g : r-x,表示属于此组的用户对此目录文件有读和执行权限。
其它:other, o : r-x,表示其余用户对此目录文件有读和执行权限。
3.对文件来讲:
r:可获取文件的数据;
w:可修改文件的数据;
x:可将此文件运行为进程
4.对目录来讲:
r:可以使用ls命令获取其下的全部文件列表;但不能够使用“ls -l”去获取详细信息,也不能够 cd至此目录中;
w:可修改此目录下的文件列表, 便可以在此目录下建立或删除文件;
x:能够使用"ls -l“命令来获取其下的文件的详细属性信息,也可cd至此目录中;
5.权限组合机制:
以owner为例:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
3、权限的管理
1.用户类型(标识符):u:属主 g:属组 o:其它 a: 全部
2.chmod [OPTION]... MODE[,MODE]... FILE...
赋权表示法:直接操做一类用户的全部权限位rwx;
u=
g=
o=
a=
两类用户权限相同:ug=, go=
不一样类的用户权限不一样:u=,g=,o=
受权表示法:操做一类用户一位或多位权限;
u+, u-
g+, g-
o+, o-
a+, a-
两类用户权限收授机制相同:ug+, ug-, ...
不一样类的用户权限不一样:u+,g+,o+
3.chmod [OPTION]...
--reference=RFILE FILE… 参照某个文件的权限来进行受权操做
-R,--recursive:递归修改
NOTE:普通用户仅能修改属主为本身的那些文件的权限;root能够更改全部用户
4.chown命令: 更改文件目录的全部者,也能够更改所属组
5.chgrp命令: 更改文件目录的所属组
6.umask:显示或设定文件模式掩码
文件默认权限:666-umask
目录默认权限:777-umask
注意:之因此文件用666去减,表示文件默认不能有执行权限;若是减得的结果中,u,g或o有执行权限时,则须要加1;
显示当前用户的umask:umask
设定:umask MASK
注意:此设定仅对当前shell进程有效;