查看所有用户信息。
Linux权限授权,默认是授权给三种角色,分别是user、group、other。三种角色对目录的权限:chmod 设置数字权限4,2,1,分别对应的是r,w,x,即可读,可写,可执行。 对目录设置权限时,可以加-R递归参数。可以对文件的这三个角色进行目录读写可执行授权, 如图 。
以上图所示,第一组为文件所有者的权限,第二组为文件所属组的权限,第三组为其他人的权限。其表示的具体含义为:文件所有者具有对文件的读写权限,文件所属组的用户具有对文件读写的权限,而其他人只有读取文件的权限。
文件的所有者
文件的所有者一般是创建该文件的用户,对该文件具有完全的权限。在一台允许多个用户访问的 Linux 主机上,可以通过文件的所有者来区分一个文件属于某个用户。当然,一个用户也无权查看或更改其它用户的文件。
文件所属的组
假如有几个用户合作开发同一个项目,如果每个用户只能查看和修改自己创建的文件就太不方便了,也就谈不上什么合作了。所以需要一个机制允许一个用户查看和修改其它用户的文件,此时就用到组的概念的。我们可以创建一个组,然后把需要合作的用户都添加都这个组中。在设置文件的访问权限时,允许这个组中的用户对该文件进行读取和修改。
其他人
如果我想把一个文件共享给系统中的所有用户该怎么办?通过组的方式显然是不合适的,因为需要把系统中的所有用户都添加到一个组中。并且系统中添加了新用户该怎么办,每添加一个新用户就把他添加到这个组中吗?这个问题可以通过其他人的概念解决。在设置文件的访问权限时,允许其他人户对该文件进行读取和修改。
授权完各个角色的权限,那么怎么更改文件所属的角色。如下:
更改文件拥有者: chown 账号名称 文件或目录
更改文件所属用户组:chgrp 组 目录或文件名
web目录权限设置参考 。 注意Web服务器各自的运行用户如果要对web目录进行 *** 作,也必须得到web目录的rwx授权才可以。
linux里面如何让某个程序以某个用户来运行?比如让mysql程序用mysql用户去运行。让httpd用httpd用户去运行。
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份z一样)用来标识系统的用户账号(用户名)。
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能 *** 作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的passwordrequisite
和passwordsufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
linux中查看某个用户权限的命令为( 以mysql用户为例):
cat/etc/passwd|grep mysql
在Linux/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
扩展资料:
在Linux /etc/passwd 用户信息中各字段(列)的用途介绍
1、用户名(login_name):用于区分不同的用户。注册的名称在同一系统中是唯一的。在许多系统上,此字段的长度限制为8个字符(字母或数字)。
2、口令(passwd):用于验证用户的合法性,超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的密码,普通用户也可以使用passwd命令来更改自己的口令。
3、用户识别号(UID):UID用于区分不同的用户。在系统内部管理进程和文件保护时,请使用UID字段。在Linux系统中,可以使用注册名称和UID来标识用户,但是UID对系统来说更重要,而对于用户来说注册名使用起来更方便。
4、组标识号(GID):与UID一样,用户的组标识号也存储在passwd文件中。在现代Unix / Linux中,每个用户可以同时属于多个组。除了指定passwd所属的基本组外,还可以在/ etc / group文件中指定组中包含的用户。
5、用户名(user_name):包含有关用户的一些信息,例如用户的真实姓名,办公室地址,联系电话等。在Linux系统中,mail和finger之类的程序使用此信息来标识系统的用户。
6、用户主目录(home_directory):此字段定义单个用户的主目录。当用户登录时,Shell将使用该目录作为用户的工作目录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)