1.用户和组账号概述
如果zhangsan被删除,它的UID会空着。新增的用户的UID会从现存的用户的UID往后排删除用户 userdel -r user(加-r会删除这个用户的家目录),如果删除这个用户,那么原先用户创建的文件的用户和用户组依然不变,系统识别一个用户是通过UID的而不是用户名。
- Linux基于用户身份对资源访问进行控制
- 用户帐号:
- 超级用户root
- 普通用户:一般只在用户自己的宿主目录中有完全权限
- 程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
组帐号:
- 基本组(私有组)
- 附加组(公共组)
UID和GID:
- UID(User Identity,用户标识号)
- GID(Group Identify,组标识号)
- root用户的UID的固定值为0、root组帐号的GID号为固定值0
- 1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间
2.用户
- 任何用户被分配一个独特的用户id号(UID)
- UID0标识root用户
- 用户帐号通常从UD1000开始
- 用户名和UID信息通常存储在/etc/ passwd文件中
- 当用户登录时它被分配一个主目录并且运行一个程序(通常是一个shel程序)
- 没有权限许可用户不能读取、写或者执行其它用户的文件
- 每个用户属于一个主组,属于一个或多个附加组,一个用户最多有31个附属组
- 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限
- 每个登录用户拥有一个指定的shell环境
2.1用户账号文件——/etc/passwd
用于保存用户的帐号基本信息
每一行对应一个用户的帐号记录,以:为分隔符
benet:x:500:500:BENET Student User:/home/benet:/bin/bash
字段1:用户帐号的名称
字段2:用户密码字串或者密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息
说明:x:登录该用户时需要输入密码,去掉x不需要输入密码,仅针对root有效,rhel8以前针对所有用户有效uid
- 基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
2.2.用户账号文件——/etc/shadow
用于保存密码字串、密码有效期等信息
每一行对应一个用户的密码记录
benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::
字段1:用户帐号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
- 上次修改密码的时间,表示从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数
2.3.添加用户账号
useradd命令
格式:useradd [选项]... 用户名
常用命令选项
-u:指定 UID 标记号,如果同时有-o选项,则可以重复使用其他用户的标识号
-d:指定宿主目录,缺省为 /home/用户名;如果此目录不存在,则同时使用-m选项,可以创建主目录
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效
[root@localhost ~]# useradd -g users -e 2009-07-30 exam01
2.4.设置/更改用户口令
passwd命令
格式:passwd [选项]... 用户名
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
“未设置密码”的用户帐号尚未完成初始化,处于不可登录状态,这与“空密码”的情况(已经为用户设置密码,但密码字串为空)是不同的
“未设置密码”的用户将被禁止登录系统,而拥有“空密码”的用户是可以在本地终端登录的
2.5修改用户账号的属性
usermod命令
格式:usermod [选项]... 用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
2.6删除用户账号
userdel命令
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
3.组
root组是没有特权的
组的存在是为了方便管理,设置权限,GID是组ID,一个用户可以加入两个用户组,如果两个组规则冲突,则允许优先
- 用户指派给组
- 每一个组被分配一个独特的组ID(gid)
- GID保存在/etc/group中
- 每一个用户都有自己的私有组
- 能添加到其它组如需访问
- 同一个组中的所有用户能共享属于这个组的文件
3.1组账号文件
与用户帐号文件相类似
/etc/group:保存组帐号基本信息
groupe1: x: :10000: user01, user02, usere3
◆字段1:组的名称
◆字段2:密码占位符"x"
◆字段3:组的ID号
◆字段4:该组是user1,user2和user3的附加组
/etc/gshadow:保存组帐号的密码信息
group文件内的最后一个字段中列出属于该组的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔
3.2添加组账号
groupadd命令
格式:groupadd [-g GID] 组帐号名
3.3添加、删除组成员
gpasswd命令
用途:设置组帐号密码(极少用)、添加/删除组成员
格式:gpasswd [选项]... 组帐号名
常用命令选项
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
groupments管理组内成员
-l:列出组内的用户
-p:清空用户
3.4删除组账号
groupdel命令
格式:groupdel 组帐号名
3.5修改组信息
groupmod 命令
-n:指定新组名
4.用户和组账号查询
id命令
用途:查询用户身份标识
格式:id [用户名]
groups命令
用途:查询用户所属的组
格式:groups [用户名]
finger命令
用途:查询用户帐号的详细信息
格式:finger [-l] [用户名]
users、w 、who命令
用途:查询已登录到主机的用户信息
5.Linux文件安全
5.1文件/目录的权限和归属
- 访问权限
- 读取(r):允许查看文件内容、显示一个目录下的所有内容
- 写入(w):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行(x):允许运行程序、进入一个目录列出它下面所有的内容,需要r权限才能读目录内容
- -:没有任何权限(在r,w或者x的显示位置)
- 归属(所有权)
- 拥有人:拥有该文件或目录的用户帐号
- 拥有组:拥有该文件或目录的组帐号
用户对文件到底拥有何种权限,需要由访问权限和归属(所有权)共同决定
硬链接:把索引复制了一遍
软链接:快捷方式
5.2文件安全
匹配身份,不同的身份有不同的权限
用户 ----------------------------------- ---------------> 文件
- 每一个文件都有一个uid和gjid
- 任何进程运行时都带一个uid和一个或多个gid标识符
- 通常决定于哪个用户执行这个进程
- 三种访问类别
- 运行的进程跟文件有着同样的uid(user)
- 运行的进程跟文件有着同样的gid( group)
- 其它进程( other)
权限优先级:拥有人--> 拥有组 --->其他人
- 如果UID匹配,用户权限适用
- 否则,如果GID匹配,组权限适用
- 如果都不匹配,其它权限适用
5.3查看文件/目录的权限和归属
查看文件和目录的权限
#ls -l文件名
#ls-ld目录名
-w-r--r-- . 1 root root 2484 Mar 1800: 04 /etc/passwd
文件类型 访问权限 连接数 所属人 所属组 大小 修改时间 文件名
“-rw-r—r--”部分的第一个字符表示文件类型,可以是d(目录)、b(块设备文件)、c(字符设备文件),减号“-”(普通文件)、字母“l”(链接文件)等,其余部分指定了文件的访问权限,主要使用了四种不同的权限字符: r 可读 ;w 可写 ;x 可执行 ;- 无权限 ,r、w、x、- 权限字符还可分别表示为8进制数字4、2、1、0
5.4改变文件的拥有关系
- 只有root账户可以改变文件的拥有人
- 只有root和拥护者可以改变文件的拥有组
- 改变文件的拥有人 chown
- 改变文件的拥有组 chgrp
- 改变文件的权限 chmod
5.5设置文件/目录的权限
chmod命令
格式1: | chmod | [ugoa] | [+-=] | [rwx] | 文件或目录... |
u、g、o、a分别表示属主、属组、其他用户、所有用户 | +、-、= 分别表示增加、去除、设置权限 | 对应的权限字符 | 被修改权限的文件或目录 |
格式2 | chmod | nnn(分别表示u、g、o的权限) | 文件或目录... |
3位八进制数;“nnn”为需要设置的具体权限值,如“755”、“644”等 |
[root@localhost ~]# chmod u+x,o-r mymkdir
[root@localhost ~]# chmod 755 mymkdir
常用命令选项:
-R:递归修改指定目录下所有文件、子目录的权限
使用递归的方式将“/usr/src/”目录中所有子目录、文件的权限都设置为“rw-r--r--”
[root@localhost ~]# chmod -R 644 /usr/src/
5.6设置文件/目录的归属
chown命令
格式 | chown | 拥有人 | 文件或目录 |
chown | 拥有组 | 文件或目录 | |
chown | 拥有人:拥有组 | 文件或目录 |
常用命令选项:
-R:递归修改指定目录下所有文件、子目录的归属
需要设置文件或者目录的归属时,可以通过chown、chgrp命令进行
chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用)
|
|
|
|
|
|
|
|
把passwd的权限复制给group
把我虚拟机上的文件拷贝到另一个虚拟机上 拷贝的是快捷方式对应的真实文件,有几个软件就拷贝多少份,我们一般不用cp或scp进行直接备份
scp 文件夹路径 对方用户名@计算机IP:绝对路径
我们一般用打包和压缩,来备份文件
把etc/打包并压缩到/tmp/下 并取一个etc.tar.gz这样的名字
#tar -zxvf etc.tar.gz (解压到当前目录)
#tar -zxvf etc.tar.gz -C /date (解压到date目录下)
Linux主机连接另外一台Linux主机,不需要安装客户端和服务端,直接使用ssh协议
#ssh 目的虚拟机IP //默认连接目的端虚拟机的用户是和源端的当前登陆账户一样
Linux主机与Linux主机之间传输文件用scp
把自己虚拟机的文件拷贝给目标虚拟机
# scp /data/test/test.sh root@192.168.73.123:/root
用户@IP:目的目录的绝对路径
把别人虚拟机的文件拷贝给我自己的虚拟机
#ssh 别人虚拟机的IP
#cd
#ls
#scp /root/test.sh root@自己虚拟机的IP:/目的目录的绝对路径
windows和Linux主机间传输文件,xftp(sftp)/winSCP这几个工具
云计算里面物理服务器默认是禁止root用户登陆,设置了一个普通用户gandalf来登陆后台
禁用root账户,在别人的机器上
cd /etc/ssh
ls
pwd
vim sshd_config//第49行允许root登陆的yes改成no,同时去掉注释(#)
service sshd restart
在自己的机器上
ssh 别人的IP // 会执行失败,输密码会回显权限拒绝
ssh user2@别人的IP 登陆到目的虚拟机的user2身份
su - root
将自己虚拟机的文件拷贝到别人的虚拟机 但是别人的虚拟机是禁止root账户登陆的
#scp /etc/passwd gandalf@别人的IP:/root 会失败
#scp /etc/passwd gandalf@别人的IP:~
#ssh 别人的IP
#cp ~gandalf/passwd /root
总结:执行可执行文件有3种方法
法1:在可执行文件的所在目录下,就可以相对路径的方式来执行,例如 ./disk.sk。
法2:在或者不再可执行文件的目录下,都可以用绝对路径方式来说执行,/data/disk.sh。
法3:在或者不再可执行文件的目录下,都可以直接用可执行文件名来执行,就是把文件名当命令用,那么需要大家提前把可执行文件的父目录加入到PATH变量中,PATH变量是用户环境变量,要在各个用户的家目录下的.bash_profile文件中定义
标签:文件,帐号,管理,用户组,用户,权限,root,目录 来源: https://blog.csdn.net/xy1596/article/details/120571714
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。