| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux系统中的账号管理以及权限管理 -> 正文阅读 |
|
[系统运维]Linux系统中的账号管理以及权限管理 |
引言:Linux系统可以设置多个用户账号,组账号,以及这些用户可以访问文件,目录的权限,下面也是进行了详细的总结目录 一、用户账号和组账号的概述Linux基于用户身份对资源访问进行控制 1.用户账号超级用户:对本主机拥有最高权限的账号,root用户 普通用户:由root用户和其他管理员用户创建,拥有的权限受到一定限制 程序用户:在安装Linux系统及部分应用时,会添加一些特定的低权限用户账号,不允许登录到系统,仅用于维持系统或某个程序的正常运行。 2.组账号基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。在创建文件时,文件的所属组就是用户的基本组 附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。 3.UID号和GID号UID:用户标识号,用来标识每个用户的唯一标示符。即用户的ID。(root固定为0) CentOS 6 (1-444)为程序用户账号的默认UID号,445开始分配给普通用户使用 CentOS 7 (1-999)为程序用户账号的默认UID号,1000开始分配给普通用户使用 GID:组标识号,用来标识用户组的唯一标识符。即用户组的ID 4.用户帐号文件(/etc/passwad)保存用户名称,宿主目录,登录shell等基本信息 文件位置:/etc/passwd 每一行对应一个用户的账号记录 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin root用户账号 x密码占位符 0用户账号ID 0组账号ID root用户说明 /root宿主目录 /bin/bash登录shell 5.用户帐号文件(/etc/shadow)保存用户的密码、账号有效期等信息 文件位置:/etc/shadow 每一行对应一个用户的密码记录 root用户账号:$1$……:为用户密码md5加密 密码有*!代表子用户不能登录子系统,为空代表没有密码 14374上次修改时间 1970年1月1日开始 0:代表不做定义 99999:代表密码最长有效天数一般是30-90天 7:提前7天警告用户口令将过期,默认值为7 ::账号失效时间,指定用户作废天数,默认值为空,表示账号永久可用(从1970年1月1日开始) 二、用户账号管理1.添加用户账号useradd 用户名 head -1/tail -1 /etc/passwd(/etc/shadow)查看用户和密码 -u:指定用户的UID号,该UID号未能被其他用户使用 -d:指定用户的宿主目录位置(与-M一起使用时不生效) -e:指定用户的账户失效时间,可用YYYY-MM-DD的时间格式 -g:指定用户的基本组名(或使用GID) -G:指定用户的附加组名(或使用GID) -M:不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录 -s:指定用户的登录shell -s /bin/nologin 禁止用户登录 shell useradd -d /admin -g wheel -G root admin useradd -e 2021-08-05 -s /sbin/nologin zhang? 2.用户账号的初始配置文件useradd 会在该用户的宿主目录中建立一些初始配置文件 模板目录/etc/skel/,基本上都是隐藏文件 常用.bash_logout、.bash_profile、.bashrc .bash_logout 文件中的命令将在用户每次退出登录时执行 .bash_profile 文件中的命令在该用户每次登陆时被执行 .bashrc 文件中的命令会在每次加载/bin/Bash程序时包括登陆系统执行 .bashrc 等文件中可以自己设置可执行语句,以便自动完成相应的任务 3.设置/更改用户口令passwd可以设置或修改密码 root用户有权管理其他账号的密码 passwd zhangsan 为zhangsan设置登陆密码根据提示输入两次 普通用户自行设置密码要求,不要直接使用英文单词,长度保持在六位以上,否则系统可能拒绝进行设置 普通用户更改密码,需要输入旧密码进行验证 -d:清空指定用户的密码,仅使用用户名登陆系统 -l:锁定用户账户 -S:查看用户账户状态(是否被锁定) -u:解锁用户账户 passwd -l zhangsan 4.修改用户账号属性usermod [选项] 用户名 对于系统中已经存在的用户账号可以使用usermod命令 -u:修改用户的UID号 -d:修改用户的宿主目录位置 -e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式 -s:指定用户的登录Shell -l:更改用户账号的登录名称(Login Name) -L:锁定用户账号 -U:解锁用户账户 5.删除用户账号-r:删除宿主目录 userdel -r zhangsan ls -lh /home/zhangsan 三、管理组账号1. 组账号管理每个用户账号是多个组账号成员,但是基本组账号只有一个 /etc/group用于保存组账号名称、GID号,组成员等基本信息 /etc/gshadow用于保存组账号的加密密码字串等信息 某一个组账号包含哪些成员将会在group文件内最后一个字段体现 多个组成员之间用“,”逗号分隔 grep "^root" /etc/group 检索root组包括哪些用户 grep "root" /etc/group 检索哪些组包括root用户 2. 添加、删除、修改组账号2.1 添加组帐号groupadd 组账号 可使用-g指定GID号?groupadd -g 1000 a1? groupadd a1 2.2 添加、设置、删除组成员gpasswd 【选项】 用户 组账号 -a:添加组成员 -d:删除组成员 -M:指定组账号的所有成员用户? gpasswd -M root,admin,daemon adm 2.3 删除组账号groupdel 组账号 groupdel zhangsan 2.4 添加用户账号时指定组useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/login mike 2.5 修改用户账号属性usermod -g(-G)加用户名 接着新组名,修改基本组或者附加组 -g:修改用户的基本组名 -G:修改用户的附加组名 3. 查询账号信息用id、groups、finger、w等查询用户、组的详细配置文件 3.1 查询用户账号的身份标识id 用户账号 可以快速查看指定用户账号的UID、GID等标识信息 id root gid、groups为用户的基本组,其他的为附加组 3.2 查询用户账号所属的组可以查看指定的用户账号属于哪些组 groups 用户账号 groups zhangsan 3.3 查询用户账号的登录属性可以查询指定用户账号的登录属性等详细信息,包括登录名称、完整名称、宿主目录、登录shell等 finger 用户账号 3.4 查询当前主机的用户登录情况列出登录账号名称所在终端、登录时间、来源地点 w或者last 四、文件的权限及归属1. 查看文件的权限及归属ls -l /etc/passwd -rw-r--r-- 第一个字符,表示该文件的类型,d(目录),b(块设备文件),c(字符设备文件) "-"(普通文件),字母"l"(链接文件)等 第2-4个字符,表示该文件的属主用户(User)对该文件的访问权限 第5-7个字符,表示该文件的属组内各成员用户(group)对该文件的访问权限 第8-10个字符,表示其他任何用户(other)对该文件的访问权限 r:可读(4)w:可写(2)x:可执行(1)需去除对应的权限用"-"表示 root用户对"etc/passwd"有可读可写的权限(rw-) root组内的个用户对"etc/passwd"只有可读权限(r--) 2. 设置文件的权限及归属2.1 设置文件权限设置针对每一类用户的访问权限,可采用两种方式表示 chmod 【ugoa】【+-=】【rwx】文件…… chmod nnn(777或644)? ugoa:表示为该权限设置所针对的用户类别 u代表文件属主,g代表文件属组内的用户,o代表其他任何用户,a代表所有用户(u、g、o的总和) +-=:表示设置权限的操作动作 +代表增加相应权限,-代表减少相应权限,=代表仅设置对应的权限 rwx是权限的字符组合形式,也可拆分使用r、rx等 chmod ugo-x text 需将不同类别的用户对文件权限设置不同值时,可以用逗号分隔 chmod u+x,o-r text 2.2 设置文件的归属chown 属主[:[属组]] 文件 可以指设置属主或属组,也可以同时设置属主,属组 只需要设置目录或文件的属主,直接以用户名表示归属即可 递归修改使用“-R” chown -R ftp /var/ftp/pub/ 同时设置目录和文件的属主、属组时现需要用分隔符 chown daemon:wheel /opt/wwwroot/ 五、目录的权限及归属1. 查看目录的权限及归属目录也有两个属性,权限和归属,这两个属性对于目录存在不同的意义 文件的访问权限主要针对的是文件内容,而目录的访问权限则是针对目录内容(包括目录下的子目录和目录下的文件)
目录的归属(目录的所有权)也分为属主和属组,分别表示拥有该目录的用户账号和组账号 2. 设置目录的权限及归属2.1 设置目录权限与文件相同也是chmod chmod 【ugoa】【+-=】【rwx】目录…… chmod nnn 目录 ugoa和nnn与文件权限相似 -R表示递归修改执行目录下所有子项的权限 chmod 755 /var/ftp/pub/ 表示pub这个文件夹的权限为755,文件夹下的文件权限不变 chmod -R 755 /var/ftp/pub 表示pub这个文件夹的权限和文件夹下的文件的权限为755 2.2设置目录属性与chomd命令相同,chown的对于目录和文件的基本用法都相同 chown 属主目录 chown :属组目录 chown 属主:属组目录 -R:修改指定目录下所有文件,子目录的归属 chown -R ftp /var/ftp/pub/ 将/var/ftp/pub目录的属组有root改为ftp(调整后用户ftp拥有“rwx”的权限) 3. 文件属性和文件系统属性的关系chattr和lsattr指令就是设置和查看基于ext2/ext3文件系统的底层属性。 这些权限对于一些特殊要求的文件有帮助,服务器日志文件或某个比较重要的文件。 chattr设置的文件或目录,在root权限下也不能直接删除 chatte 【+-=】【ai】 文件 +:原有参数的基础上,追加参数 -:原有参数的基础上,移除参数 =:更新为指定参数 a:设置只能向文件中添加数据,而不能删除 i:设置后,不能对文件进行删除、写入、改名等操作。 chattr可以设置某些特殊文件只能添加数据,可使用+a,若想取消只能向文件中添加数据的权限,可使用-a 使用lsattr命令显示文件底层属性 -a:显示所有文件属性 -d:仅显示目录属性 -R:递归显示 4. umask应用umask默认指定目前用户在新建文件或目录时的权限默认值 umask 022 设置当前用户的默认权限 ,umask 查看当前系统的默认权限 umask 后面的值代表默认值要减掉的权限,rwx是 421 umask 022 代表group和other被拿掉了权限“2”,就是写的权限 umask 代表文件的默认权限是“777” 总结:在日常工作中,经常需要创建用户,用户组,要给用户设权限,用户组设置权限,目录和文件都需要设置对应的权限,这边也是进行了一些总结。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 6:23:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |