Linux 用户及权限管理
2016-03-12 20:58
393 查看
一・什么是用户
用户:是能够获取系统资源的权限的集合
Linux做为一个多任务,多进程的操作系统,必然会出现多个用户同时登陆的情况,做为运维人员 来说,用户管理是日常重要的工作内容之一。Linux中用户按照其性质划分可以分为以下几种:
超级用户(root),拥有至高无上的权利,具有使用系统所有权限的能力;
系统用户,为了保障系统运行的用户,一般不提供密码登录系统;
普通用户,即一般用户,其使用系统权限通常受很大限制:
UID:系统识别用户的ID标识;
超级用户(root)的UID为0,
系统用户的UID为1-499(Centos5,6),1-999(Centos7);
普通用户的UID为500-65535(Centos5,6),1000-65535(Centos7);
查看用户UID的命令:id username
二・用户管理
1)与用户管理相关的配置文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表该用户的名称,用来对应UID
第二字段:“ x " 代表该用户的密码,指向/etc/shadow文件中
第三字段:“ 0” 代表用户UID
第四字段:“ 0” 代表用户GID
第五字段:“root” 代表用户信息说明列
第六字段:“/root" 代表用户主文件夹
第七字段:“/bin/bsah"代表用户默认Shell
/etc/shadow
root:$6$qU5xMWeOTrQLuEPhQqf2S3ge1RroLMbE6.D5RAm23rKQ/:16868:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表用户名称
第二字段:“$6$q..” 代表密码
第三字段:“16868” 代表最近一次修改密码的日期(`date +%s/86400+1`)
第四字段:“0” 代表密码最短使用天数(不可变更时间,0表示随时可以改动)
第五字段:“99999” 代表密码最长使用天数,99999表示永不过期
第六字段:“7” 代表密码需要更改前的警告天数
第七字段:“:” 代表密码过期后的宽限时间
第八字段:“:” 代表账号失效日期
第九字段:“:” 保留
三・用户管理相关命令
1)useradd : 增加用户
useradd [选项] 用户名
-d, --home directory:家目录路径;目标路径不能事先存在,指定一个目录为该用户的家目录;
-g, --gid GROUP:指定用户的基本组组名或GID;
-G, --groups GROUP1(当然这里可以有多个组,[组1,组2...]):用户所属的附加组列表,彼此间用逗号隔 开中间没有空格;
-m, --create-home:强制创建家目录;
-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;
-r, --system:创建一个系统账户
2)usermod: 修改用户信息
-c, --comment COMMENT
-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的 文件会移动到新目录中;
-g, --gid GROUP
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表 示为用户添加新的附加组;
-l, --login NEW_LOGIN:修改当前用户的用户名;
-s, --shell SHELL
-u, --uid UID
-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”
-U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!”
3)userdel:删除用户
userdel [选项] 登录名
-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除
4)passwd:密码管理命令
-l:锁定密码
-u:解锁解密
-d:清除密码
--stdin:从标准输入接收密码;
echo "PASSWORD" | passwd --stdin USERNAME
5)id:查看用户UID
-u:仅查看uid
-g:仅查看gid
-G:查看所属的所有组的ID
-n:显示名称,而非ID
6)su:切换用户命令
su -l USERNAME 读取目标用户的配置文件(登录式切换,完全切换);
四・组账户
1)与组用户管理相关的配置文件
/etc/group
root:x:0:
bin:x:1:
daemon:x:2:
2)组用户管理命令
groupadd:添加组
groupadd [选项] grouname
-g GID:指明GID;
-r, --system:系统组;
gpasswd:增加,删除组成员
-a:增加组成员
gpasswd -a mike root 增加mike到root组中
-d:删除组成员
gpasswd -d mike root 将mike从root组中删除
groups:查看当前用户所属的组
groups username
五・权限管理 进程的安全上下文: 进程:运行一个程序文件而产生,通常由一个用户发起;进程则以发起者的身份运行;判断进程的发起者是否与文件属主相同,如果是,则以属主的身份来访问,从而应用属主权限;否则判断进程的发起者是否属于文件的属组,如果是,则应用属组权限;否则应用“其它”权限
例外场景:factl, suid, sgid, sticky
文件: r:可获取文件的数据; w:可修改文件的数据; x:可将此文件运行为进程;目录: r:可使用ls命令获取其下的所有文件列表;但不可以使用“ls -l”去获取详细信息,也不可以cd至此目录 中; w:可修改此目录下的文件列表, 即可以在此目录下创建或删除文件; x:可以使用"ls -l“命令来获取其下的文件的详细属性信息,也可cd至此目录中;
首先我们了解一写特殊的字符 u=user g=group o=other a=(u+g+o)表示所有人 MODE: 赋权表示法:直接操作一类用户的所有权限位rwx; u= g= o= a=授权表示法:操作一类用户一位或多位权限(中间不使用逗号)
u+, u- g+, g- o+, o- a+, a-
###############################################
这样是不是更加的明白呢?
两类用户权限收授机制相同:ug+, ug-, ...不同类的用户权限不同:u+,g+,o+****************敲一敲代码看看是否一样呢?**************************
当然我们还是有别的表示方法的 r=4 w=2 x=1常用选项:
-R, --recursive:递归修改;(小心使用哦)chown命令: chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE...看看上面发生什么,文件已经不是www的了
常用选项:
-R, --recursive:递归修改;********************这一个就不演示了**************************chgrp命令: chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...刚才我们把文件拥有者改了,那么组能不能改呢?这完全可以说是自己创建的文件吗?哈哈 你看明白了吗umask:显示或设定文件模式掩码文件:666-umask目录:777-umask注意:之所以文件用666去减,表示文件默认不能有执行权限;如果减得的结果中,u,g或o有执行权限时,则需要加1;那我们在终端中看的更加仔细点吧
显示:umask管理员和普通用户的UMASK还是不一样的管理员: 普通用户umask MASK注意:此设定仅对当前shell进程有效;
本文出自 “冷月葬玉魂” 博客,请务必保留此出处http://mxlmgl.blog.51cto.com/9834691/1750344
用户:是能够获取系统资源的权限的集合
Linux做为一个多任务,多进程的操作系统,必然会出现多个用户同时登陆的情况,做为运维人员 来说,用户管理是日常重要的工作内容之一。Linux中用户按照其性质划分可以分为以下几种:
超级用户(root),拥有至高无上的权利,具有使用系统所有权限的能力;
系统用户,为了保障系统运行的用户,一般不提供密码登录系统;
普通用户,即一般用户,其使用系统权限通常受很大限制:
UID:系统识别用户的ID标识;
超级用户(root)的UID为0,
系统用户的UID为1-499(Centos5,6),1-999(Centos7);
普通用户的UID为500-65535(Centos5,6),1000-65535(Centos7);
查看用户UID的命令:id username
二・用户管理
1)与用户管理相关的配置文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表该用户的名称,用来对应UID
第二字段:“ x " 代表该用户的密码,指向/etc/shadow文件中
第三字段:“ 0” 代表用户UID
第四字段:“ 0” 代表用户GID
第五字段:“root” 代表用户信息说明列
第六字段:“/root" 代表用户主文件夹
第七字段:“/bin/bsah"代表用户默认Shell
/etc/shadow
root:$6$qU5xMWeOTrQLuEPhQqf2S3ge1RroLMbE6.D5RAm23rKQ/:16868:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
此配置文件格式以:为分隔符,以root用户为例:
第一字段:“root” 代表用户名称
第二字段:“$6$q..” 代表密码
第三字段:“16868” 代表最近一次修改密码的日期(`date +%s/86400+1`)
第四字段:“0” 代表密码最短使用天数(不可变更时间,0表示随时可以改动)
第五字段:“99999” 代表密码最长使用天数,99999表示永不过期
第六字段:“7” 代表密码需要更改前的警告天数
第七字段:“:” 代表密码过期后的宽限时间
第八字段:“:” 代表账号失效日期
第九字段:“:” 保留
三・用户管理相关命令
1)useradd : 增加用户
useradd [选项] 用户名
-d, --home directory:家目录路径;目标路径不能事先存在,指定一个目录为该用户的家目录;
-g, --gid GROUP:指定用户的基本组组名或GID;
-G, --groups GROUP1(当然这里可以有多个组,[组1,组2...]):用户所属的附加组列表,彼此间用逗号隔 开中间没有空格;
-m, --create-home:强制创建家目录;
-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;
-r, --system:创建一个系统账户
2)usermod: 修改用户信息
-c, --comment COMMENT
-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的 文件会移动到新目录中;
-g, --gid GROUP
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表 示为用户添加新的附加组;
-l, --login NEW_LOGIN:修改当前用户的用户名;
-s, --shell SHELL
-u, --uid UID
-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”
-U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!”
3)userdel:删除用户
userdel [选项] 登录名
-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除
4)passwd:密码管理命令
-l:锁定密码
-u:解锁解密
-d:清除密码
--stdin:从标准输入接收密码;
echo "PASSWORD" | passwd --stdin USERNAME
5)id:查看用户UID
-u:仅查看uid
-g:仅查看gid
-G:查看所属的所有组的ID
-n:显示名称,而非ID
6)su:切换用户命令
su -l USERNAME 读取目标用户的配置文件(登录式切换,完全切换);
四・组账户
1)与组用户管理相关的配置文件
/etc/group
root:x:0:
bin:x:1:
daemon:x:2:
2)组用户管理命令
groupadd:添加组
groupadd [选项] grouname
-g GID:指明GID;
-r, --system:系统组;
gpasswd:增加,删除组成员
-a:增加组成员
gpasswd -a mike root 增加mike到root组中
-d:删除组成员
gpasswd -d mike root 将mike从root组中删除
groups:查看当前用户所属的组
groups username
五・权限管理 进程的安全上下文: 进程:运行一个程序文件而产生,通常由一个用户发起;进程则以发起者的身份运行;判断进程的发起者是否与文件属主相同,如果是,则以属主的身份来访问,从而应用属主权限;否则判断进程的发起者是否属于文件的属组,如果是,则应用属组权限;否则应用“其它”权限
例外场景:factl, suid, sgid, sticky
文件: r:可获取文件的数据; w:可修改文件的数据; x:可将此文件运行为进程;目录: r:可使用ls命令获取其下的所有文件列表;但不可以使用“ls -l”去获取详细信息,也不可以cd至此目录 中; w:可修改此目录下的文件列表, 即可以在此目录下创建或删除文件; x:可以使用"ls -l“命令来获取其下的文件的详细属性信息,也可cd至此目录中;
首先我们了解一写特殊的字符 u=user g=group o=other a=(u+g+o)表示所有人 MODE: 赋权表示法:直接操作一类用户的所有权限位rwx; u= g= o= a=授权表示法:操作一类用户一位或多位权限(中间不使用逗号)
u+, u- g+, g- o+, o- a+, a-
###############################################
这样是不是更加的明白呢?
两类用户权限收授机制相同:ug+, ug-, ...不同类的用户权限不同:u+,g+,o+****************敲一敲代码看看是否一样呢?**************************
当然我们还是有别的表示方法的 r=4 w=2 x=1常用选项:
-R, --recursive:递归修改;(小心使用哦)chown命令: chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE...看看上面发生什么,文件已经不是www的了
常用选项:
-R, --recursive:递归修改;********************这一个就不演示了**************************chgrp命令: chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...刚才我们把文件拥有者改了,那么组能不能改呢?这完全可以说是自己创建的文件吗?哈哈 你看明白了吗umask:显示或设定文件模式掩码文件:666-umask目录:777-umask注意:之所以文件用666去减,表示文件默认不能有执行权限;如果减得的结果中,u,g或o有执行权限时,则需要加1;那我们在终端中看的更加仔细点吧
显示:umask管理员和普通用户的UMASK还是不一样的管理员: 普通用户umask MASK注意:此设定仅对当前shell进程有效;
本文出自 “冷月葬玉魂” 博客,请务必保留此出处http://mxlmgl.blog.51cto.com/9834691/1750344
相关文章推荐
- Linux中关机命令的区别
- Linux 设定定时任务crontab
- linux的自动任务创建
- linux及安全第三周总结——20135227黄晓妍
- 嵌入式linux交叉编译环境构建
- 误删ubuntu下/usr/bin
- linux下根据日期创建文件或者文件夹
- Linux文本处理工具三剑客之grep
- Linux条件变量的使用
- Linux vim环境设置
- Linux文本处理工具三剑客之grep
- Linux进程间通信(IPC)的几种方式
- Linux笔记(27)——用户切换与其他命令
- Linux下is not in the sudoers file解决方法
- Linux笔记(26)——用户与用户组进阶命令
- Linux第三次实验-谢飞帆i
- 20135239 益西拉姆 linux内核分析 跟踪分析Linux内核的启动过程
- 《Linux内核设计与实现》与《Linux内核源代码情景分析》读书笔记
- linux 负载监控
- LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS