此篇博客是根据视频要求写的,因为马哥在视频中说了,用户组、权限在linux运维过程中比较重要,所以一定要深入学习
首先,先介绍一下用户、组与权限是什么:
用户:用户时指你在服务器上的标识,通过不同类型的用户,你享受到不同的待遇,而待遇就是权限的大小。每个用户在服务器上都有唯一的id标识,即使你将此用户删除,再建一个与 此用户相同名称的用户,你也不是此用户了,因为每个用户的id号是唯一的。
用户还分为超级用户(管理员) 系统用户与普通用户。其实系统用户也是普通用户,只是因为系统中某些进程需要以用户的身份运行,但是不想给于管理员的权限,所以就 创建了一个不能交互登录系统的用户,就是系统用户。系统用户通常只在后台运行。普通用户时最常见的用户,在系统中只能进行一般操作,在不授权的情况下无法进行敏 感操作。
组:说白了就是一堆用户的集合,管理员为方便管理权限,讲一堆用户加入到一个组来,然后授予此组特定的权限,而后在组内的用户都可以享受到此组的权限了。组也分为管理员组与普 通组,其中普通组由系统组与登陆组组成。每个用户被创建时,默认会自动创建一个与用户同名且id号相同的组,此组为用户的基本组。对应的,用户也可以为了享受其他组权限而添加其他的组,即为附加组。基本组一般还会被称为私有组,因为此组只包含同名用户,而附加组被称为共有组,因为组内会包含多个用户。
权限:通俗的讲,就是你所代表的角色在服务器能在服务器中干什么,和一个文件(夹)可被什么样的角色读、写、执行。
/etc/passwd:此文件存放着用户信息的数据,会提供UID、GID、shell等诸多信息;
/etc/group: 此文件存放着用户组的详细信息,记录着有哪些组且组内包含哪些用户;
/etc/shadow:此文件主要记录着用户的密码信息,密码通常为加密状态,以防密码被窃取;
/etc/gshadow:此文件主要记录着组密码的信息, 密码也是为加密桩头。
以上文件只有管理员有更改权限,普通用户对(g)shadow无任何权限。
用户、组、权限的基本命令介绍:
在介绍命令之前先介绍一下UID与GID:
UID:在一台服务器上,有诸多用户,为了能更好的定位与识别用户,这就产生了UID。每个用户的UID是唯一的,其中0是超级用户(管理员),1-499(centos6)/1-999(centos7)是为系统用 户预留,500-60000(centos6)/1000-60000(centos7)是为普通用户预留。
GID:即组的ID号。每个GID都对应着一个组,且是唯一的。0是root组(管理员组),1-499(centos6)/1-999(centos7)是为系统组预留,500-60000(centos6)/1000-60000(centos7)是 为普通组预留。
用户:
添加用户:useradd
组成格式:useradd [options] USERNAME
例如:useradd abc
options:
-u:指定UID;
-g:指定基本组(必须事先存在)
-G:指定附加组 (必须事先存在)
-d:以指定的路径为用户的家目录; 通过复制/etc/skel(框架,模板)此目录并重名实现;指定的家目录如果事先存在,则不会为用户复制环境配置文件;
-c: 添加描述信息;
-s: 指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r: 创建系统用户;
-M: 不创建用户家目录;
-D: 默认属性, 等同修改/etc/login.defs 可加其他参数修改。
修改用户属性:usermod
组成格式 :usermod [options] USERNAME
例如:usermod -u 666 aaa
options:
–u –uid 修改uid号
-g –gid 修改基本组
-G –groups 修改附加组,原来的被覆盖掉
-a –append 与-G一同使用,用于添加附加组
-c –comment 修改注释信息
-d –home 修改家目录,用户原有的文件不会移动
-m –move-home 只能与-d使用,用于将原来的家目录移动为新的家目录;
-l –login 修改用户名
-s –shell 修改bash
-L –lock 锁定用户密码 即在用户密码字符串之前添加一个!
-U –unlock 解锁用户密码
删除用户: userdel
组成格式:userdel [option] USER
例如:userdel aaa
option:
-r :userdel默认不会删除用户家目录的,加上此选项会将家目录一起删除;
组:
添加组:groupadd
组成格式:groupadd [options] GROUP
例如:groupadd bbb
options:
-g:指定gid;
-r:创建系统组;
修改组的属性:groupmod
组成格式:groupmod [options] GROUP
例如:groupmod -g 5044 bbb
options:
-g:指定GID;
-n:修改组名;
删除组:groupdel
组成格式:groupdel GROUP
密码管理:
修改密码:passwd 直接使用,修改自己的密码 (提供密码级别的管理)
组成格式: passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inac –tivedays] [-S] [–stdin] [username]
例如:passwd root
options:
-l 锁定用户密码
-u 解锁用户密码
-d 删除用户密码
-i days非活动时长(密码过期后还能存活几天)
-n days 密码最短使用期限
-x days 密码最长使用期限
-w days 警告期限
-e date 密码立刻过期 (密码过期,只需更改密码即可)
–stdin
修改组密码:gpasswd (默认为组添加密码,但主要是用来管理组)
组成格式:passwd [options] GROUP
例如:gpasswd bbb
options:
-a 向组中添加用户,成为用户的附加组
-d 从组中移除用户
临时切换基本组:newgrp 临时切换指定组为基本组,使用exit退回来 ,配合gpasswd使用。
组成格式:newgrp [option] GROUP
例如:newgrp bbb 指定bbb为临时基本组
option:
– : 会模拟用户重新登录以实现重新初始化其工作环境
更改用户密码过期信息:chage
组成格式:chage [options] USER
例如:chage -d 0 aaa
options:
-d 指定密码最后修改日期 -d 0 表示下次登录必须修改密码
-E 账户到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期。
-h 显示帮助信息并退出
-I 密码过期后,锁定账号的天数
-l 列出用户以及密码的有效期
-m 密码可以更改的最小天数。为零代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 密码过期前,提前收到警告信息的天数。
显示用户真实和有效的id: id
组成格式:id [options]
例如: id -u
options:
-u 仅显示 uid
-g 仅显示gid
-G 仅显示用户附加组的id
-n name 显示名称,非id
切换用户:su
组成格式:su [options] USER
例如:su – aaa
options:
su – user 登录式切换 会通过读取用户的配置文件来重新初始化 –
su user 非登陆式切换 不会读取目标用户的配置文件进行初始化
-c ‘COMMAND’ 仅以指定用户的身份运行此处指定的命令;
例如:用gentoo来执行 whoami命令
su – Gentoo –c ‘whoami’
查看用户信息:finger
finger [USER]
例如:finger gentoo
临时更改shell路径:chsh
组成格式:chsh 回车,然后输入 shell路径 (shell路径可用 cat /etc/shells查看)
显示当前登陆用户:whoami
检查/etc/passwd 文件是否正确:pwck
权限:
通俗的说,就是你所代表的角色在服务器能在服务器中干什么,和一个文件(夹)可被什么样的角色读、写、执行。
进程安全上下文:
当一个用户开启一个程序时(命令)时,相当于开启了一个进程,而这个进程的属主与属组就是当前用户。
当进程对文件(夹)进行访问时,进程会会比对文件(夹)的属主与进程属主是否相同,如果相同,则应用属主权限,如果不同,则会检查属组是否相同,如果相同,则应用属组的权限,如果不同,只能应用other的权限。
各权限的说明:
r:可读,如果是目录,则可以ls目录下的所有文件;
w:可写,如果是目录,可修改目录下的文件列表,即删除或创建文件;
x:如果是文件,可以被执行,如果是目录,可以cd到此目录当中,且可以ls -l来获取所有文件的详细属性信息。
mode:rwxrwxrwx 权限
ownership: user,group 从属
例如:
注:d代表目录
红色部分代表属主的权限;
蓝色部分代表属组的权限;
紫色部分代表other的权限;
绿色部分代表属主;
黄色部分代表属组。
权限组合极值:读写执行位置固定;
— 000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7
权限修改:chmod
组成格式:chmod [options] <mode> FILE/DIR
options:
-R :默认修改目录权限无法被其子目录传承,使用此项后可将权限应用于子目录;
–reference=/var/log/messages fstab 解释:将fstab的权限改成messages
mode:表示法:
赋权表示法:
u=
g=
o=
a=
授权表示法:
u+ u-
g+ g-
o+ o-
a+ a-
八进制表示法:
4:可读
2:可写
1:可执行
例如:754:属主可读可写可执行,属组可读可执行,其他可读。
从属关系管理:chown chgrp(此命令功能可被chown实现,所以基本不用)
组成格式:chown [option] <user.group|user|.group> FILE/DIR
options:
-R:同上,使得子目录基础父目录的从属关系。
–reference=参考对象 需修改的文件(夹): 同上,参考修改。
例如:
查看设置反码:umask
umask:查看文件的权限反向掩码 遮罩码 (文件默认不能拥有执行权限)如果有有执行权限则需要将其+1 例如:权限是3,就要加1成为4
只对当前shell有效
设置:
umask MASK
例如:
复制文件同事设置文件属性:install
组成格式:install [options] SOURCE TARGET (复制文件同时设置文件属性;与cp用法基本一样 注:仅管理员能修改属主与属组)`
-m 设定目标文件权限,否则默认为755
-o 设定属主
-g 属组
-d 创建目录
举例 1:
install –o archlinux -g mygrp -m 640 /etc/inittab /tmp/inittab
举例 2:
原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/60774
评论列表(1条)
赞~~总结的不错,能注意下排版会更好~加油~