LINUX 用户及权限之我见

 

用户是登录系统的身份凭证,不同的用户登录系统后,能够进行的操作也是不相同的。用户的正确配置和管理,是我们管理好主机和系统的重要前提。而了解用户的各种特性,才能够帮助我们实现对用户的很好管理。

linux 系统最优秀的地方之一,就在于它的多用户、多任务环境。为了区别不同用户的操作,对不同用户有一个安全的管理机制,而关于文件的权限管理和使用,就显得尤为重要。

在这里,就linux系统里面的用户和权限,谈谈我个人的一点点认识。

一、用户相关

1. 用户的定义:

严格来讲,linux系统并不“认识”登录时所输入的帐号,它所能够确定并可以区分的,只是一组数字,即系统记录的ID 号。系统通过这一组 ID号,来判断是否为当前系统允许的合法帐号。在系统的 /etc/passwd文件中,有一个帐号和ID号的对应关系,如下图所示。只是我们方便记忆的,则是与ID号对应的帐号。

[[email protected] ~]# head -n 7 /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

adm:x:3:4:adm:/var/adm:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

[[email protected] ~]# head -n 7 /etc/passwd | awk -F: ‘{ print$1"---"$3"---"$4}‘

root---0---0

bin---1---1

daemon---2---2

adm---3---4

sync---5---0

上图通过一系列命令,就把帐号和ID的对应关系给列出来了,其中的三列分别是:系统帐号、其对应的UID号、其对应的GID号。GID,即用户ID和组ID。也可以通过命令,显示用户的ID信息,如图:

[[email protected] ~]# tail -n 3 /etc/passwd

kaiaki:x:676:894:ddssdsddsdsddsffkkk:/home/kaiaki:/bin/csh

sttt:x:877:894:ddssdsddsdsddsffkkk:/home/sttt:/bin/csh

abc:x:805:893::/home/abc:/bin/bash

[[email protected] ~]# id abc

uid=805(abc) gid=893(sg) 组=893(sg),894(hehe)

由此可见,系统是通过ID的不同,来识别不同的用户的。

在 linux系统中,root帐号UID为0,1到499留给了系统帐号使用,而普通帐号则是从500到65535之间,默认顺序标识。而最新的rhel7.x中,系统帐号和普通帐号分别是1到999和1000到65535之间。

如下图,里面就有三种不同的UID。

[[email protected] mnt]# more passwd | awk -F: ‘{ print $1"---"$3}‘

root---0

daemon---2

sshd---74

tomcat---496

water---506

baicai---666

其中:root UID为0,意味管理员,daemon、sshd、tomcat UID分别是2、74、496 ,他们是系统用户,water 和baocai UID分别为506和 666 ,则是一般用户。

2. 用户和组的配置文件

1)用户相关的配置文件,主要有两个:/etc/passwd 和/etc/shadow 。

[[email protected] ~]# more /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

adm:x:3:4:adm:/var/adm:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

/etc/passwd 文件中,七个字段的内容分别为:帐号名称、密码标识位、UID、GID、用户的描述信息、用户家目录、用户登录所使用的shell信息。

[[email protected] ~]# more /etc/shadow

root:$6$Nmjl33fG$g6Q4iujJdr3QCsW1.W1mho5u05oGcpLVHpavDpF/2aw8yjnhOA1Uf7aImBh9z6hcyencwKtX3tpRqeIxdXyAx1:16871:0:99999:7:::

bin:*:15980:0:99999:7:::

daemon:*:15980:0:99999:7:::

adm:*:15980:0:99999:7:::

sync:*:15980:0:99999:7:::

/etc/shadow 文件中,九个字段的内容分别为:帐号名称、用户密码、最近更改密码日期、密码不可更改天数、密码需要重新更改的天数、密码更改前警告期限、密码过期的款型时间、帐号失效日期、系统保留。

2)用户组有关的配置文件,有两个:/etc/group 和 /etc/gshadow 。

[[email protected] ~]# head -n 5 /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

adm:x:4:adm,daemon

/etc/group 文件中,四个字段内容分别为:用户组名称、用户组密码、用户GID、用户所在的组信息。

[[email protected] ~]# head -n 5 /etc/gshadow

root:::

bin:::bin,daemon

daemon:::bin,daemon

sys:::bin,adm

adm:::adm,daemon

/etc/gshadow文件中,四个字段内容分别为:用户组名称、用户组密码栏、组管理者、用户组的帐号。

3. 用户和组的管理:

1)用户的管理:

添加用户命令:  useradd

常见参数 u 用户UID 、g 用户GID、G 指定附加组、M 不建立用户家目录、m 添加用户时建立家目录、c 用户描述信息、d 指定家目录、r 指定为系统用户、s 指定用户登录时默认的shell。其中 m 默认不需要添加。

如下图所示:

[[email protected] ~]# useradd -u 991 -g hehe -G lili,liang -c usertest -s/bin/bash jack

[[email protected] ~]# tail -n 1 /etc/passwd

jack:x:991:894:usertest:/home/jack:/bin/bash

[[email protected] ~]# more /etc/group | grep jack

liang:x:890:kaiaki,sttt,jack

lili:x:891:jack

[[email protected] ~]# id jack

uid=991(jack) gid=894(hehe) 组=894(hehe),890(liang),891(lili)

上面就是添加用户jack的过程,在添加的时候,顺带指明其UID号、用户属主、其附属组、描述信息、登录shell 等信息

删除用户 userdel : 参数 r 的区别是删除时是否删除其家目录

[[email protected] ~]# ll /home/ | grep li

drwx------. 4 liang    liang    4096 3月  2322:02 liang

drwx------. 4 lili     lili     4096 3月  2322:02 lili

drwx------. 4 list     kkk      4096 3月  2321:20 list

[[email protected] ~]# userdel liang

[[email protected] ~]# userdel lili

[[email protected] ~]# userdel -r list

[[email protected] ~]# ll /home/ | grep li

drwx------. 4      890 liang    4096 3月  2322:02 liang

drwx------. 4      891 lili     4096 3月  2322:02 lili

修改用户属性命令: usermod

常见参数 u  、g、 G 、d 、l 、s 、L 、U 。

结合上面的举例很容易理解,所以这里只解释说明下L 、U两个选项 ,分别是锁定和解锁帐号,l 为修改帐号名称。其他的就不做解释了。

修改密码命令:  passwd ,语法为:passwd 或者 passwd  username。很简单的应用,这里就不举例子了

2)相对于的组的管理:

用户组相关的常见操作,即添加、删除、修改。具体命令对应为groupadd 、groupdel 、groupmod,gpasswd 。

groupadd 常见参数 g 、r ,分别是指UID 和系统组之意。

groupmod 常见参数 g 、n ,分别为修改UID和组名称。

gpasswd 常见参数 a 、d ,意思分别为加入某个组和从组中删除。

具体看下面的例子说明:

[[email protected] ~]# tail /etc/group

tom:x:667:baicai,ak,stl,sg,hehe

op:x:889:stl,sg,hehe

stl:x:892:

sg:x:893:kaiaki,sttt,ccc

hehe:x:894:abc

abc:x:897:

[[email protected] ~]# id abc

uid=805(abc) gid=893(sg) 组=893(sg),894(hehe)

[[email protected] ~]# gpasswd -a abc stl

Adding user abc to group stl

[[email protected] ~]# id abc

uid=805(abc) gid=893(sg) 组=893(sg),892(stl),894(hehe)

[[email protected] ~]# id stl

uid=892(stl) gid=892(stl) 组=892(stl),667(tom),889(op)

[[email protected] ~]# gpasswd -d stl op

Removing user stl from group op

[[email protected] ~]# gpasswd -d stl tom

Removing user stl from group tom

[[email protected] ~]# id stl

uid=892(stl) gid=892(stl) 组=892(stl)

二 、权限相关

  1. 1.     权限的定义(这里指普通权限)

Linux系统根据文件的访问者不同,将访问方式分为:owner、group、other (简写为u、g、o),且分别都对应有read(读)、write(写)、excute(执行)的权限(分别简写为r、w、x)。

如图所示:

[[email protected] mnt]# ll

-rw-r--r--. 1 root root 46328 3月  2401:48 install.log

-rw-r--r--. 1 root root     0 3月  24 01:49 linuxtest

-rw-r--r--. 1 root root   461 3月  24 01:34 passwd

-rw-r--r--. 1 root root     0 3月  24 01:49 zero.repo

三种权限对于文件和目录,有不同的意义。

对于文件:r:可获取文件数据

w:可修改文件数据

x:可将此文件运行为进程

对于目录:r:可使用命令获取其下的所有文件列表

w:可修改此目录下的文件列表,即可在此目录下创建或删除文件

x:可以使用 ls 命令来获取文件详细属性信息,也可cd至此目录中

  1. 2.     权限的管理

权限相关的操作命令主要有两个:chmod 、 chown

chmod :更改文件的 9 个属性,根据权限表示法,有两种方式

chmod   u,g,o,a +-=  rwx  filename 可以称为字母表示法

chmod   644  filename 可以称为数字表示法

两种方法都可以,看个人习惯用那种授权方法了。下面分别说明下两种的方法:

[[email protected] mnt]# ll

-rw-r--r--. 1 root root  0 3月  29 12:06 kkk

-rw-r--r--. 1 root root 37 3月  2908:36 xinxi.txt

-rw-r--r--. 1 root root  0 3月  24 01:49 zero.repo

[[email protected] mnt]# chmod 660 kkk

[[email protected] mnt]# chmod a+x xinxi.txt

[[email protected] mnt]# chmod g+x zero.repo

[[email protected] mnt]# ll

-rw-rw----. 1 root root  0 3月  29 12:06 kkk

-rwxr-xr-x. 1 root root 37 3月  2908:36 xinxi.txt

-rw-r-xr--. 1 root root  0 3月  24 01:49 zero.repo

chown :更改文件拥有者。拥有者这里既指文件的属主也指文件的属组。

其语法为: chown  owner:group filename。当后面为目录时,一般会加上 R 参数,指递归修改。可以单独指定属主或属组,也可以同时两者都指定。

[[email protected] mnt]# ll

-rw-rw----. 1 root root  0 3月  29 12:06 kkk

-rwxr-xr-x. 1 root root 37 3月  2908:36 xinxi.txt

-rw-r-xr--. 1 root root  0 3月  24 01:49 zero.repo

[[email protected] mnt]# chown xww: kkk

[[email protected] mnt]# chown :lg zero.repo

[[email protected] mnt]# chown lg:xww xinxi.txt

[[email protected] mnt]# ll

-rw-rw----. 1 xww  xww  0 3月  2912:06 kkk

-rwxr-xr-x. 1 lg   xww 37 3月  29 08:36 xinxi.txt

-rw-r-xr--. 1 root lg   0 3月  24 01:49 zero.repo

上面就是权限的一般应用的情况了,关于权限方面,还有其特殊权限,以后再作说明了。

时间: 2024-10-22 17:10:27

LINUX 用户及权限之我见的相关文章

linux文件属性、文件类型、linux用户和权限、软链接和硬链接

作者:Georgekai 归档:学习笔记 2017/12/22 day12 georgekai~~习惯:操作前备份,操作后检查 本章正题: linux文件属性.文件类型.linux用户和权限.软链接和硬链接 1.1 文件属性 1.1.1 查看文件属性的含义 [[email protected] ~]# ls -lhi total 40K 791060 -rw-------. 1 root root 1.1K Dec 11 04:20 anaconda-ks.cfg 注: 791060  #是In

Lesson 06 —— Linux 用户与权限

Lesson 06 -- Linux 用户与权限 useradd username 添加用户 Linux 系统中,所有用户(包括系统管理员)的账号和密码都可以在 /etc/passwd 和 /etc/shadow 这两个文件中找到,(用户和密码就放在文件中,/etc/passwd 只有系统管理员才可以修改的,其他用户可以查看,/etc/shadow 其他用户看不了).中passwd保存的是账号,shadow保存的是账号的密码等信息. /etc/passwd 文件 /etc/passwd文件是Li

linux用户及权限管理

[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录.实现用户账号的管理

linux用户和权限管理

目录: 一.用户相关 配置文件.命令(groupadd.groupmod.groupdel.useradd.usermod.userdel.passwd.gpasswd.newgrp) 二.权限相关 命令(chmod.chown.chgrp.umask),额外(id.su) 三.杂项 随笔记录 用户权限管理单从字面上就能明白是什么,而且大致也就是这么个意思.而只要是从事电脑方面工作的人也都用的到,我想谁也不想自己管理的主机没事多些小东西吧. 用户只是系统上面用来标识一个身份的名称,而身份说白了就

实验03 Linux用户和权限管理

一.实验目的 熟悉Linux的用户和权限管理 二.实验环境 CentOS 6.5系统. 三.实验内容 1. 用户的添加.删除.修改 2. 用户组的添加.删除.组成员管理 3. 文件和目录的权限和权限掩码设置 4. 文件和目录的所有者和属组设置 5. 特殊权限的设置 四.实验步骤: (1) 查看/home目录下各目录的权限,了解普通用户主目录的权限设置特点 命令:_ls –ld /home_ (2) 查看当前用户默认权限掩码 默认权限掩码: _umask(0022)_ (3) 创建文件stufil

Day5:Python学习笔记之Linux——用户和权限

  Linux用户的创建与修改 root : x : 0 : 0 : root : /root : /bin/bash 用户名 :密码占位符:uid(用户编号):gid(组编号):用户描述信息:用户家目录 :是否重新打开shell终端 命令 id user1 ------查看user1的详细信息 useradd 用户名 -u uid -g gid(主组) -G 附加组 -c 备注信息 -d 家目录 ------按照uid.gid(如果没有主组需手动创建).备注,家目录(如果没有家目录自动创建)新

Linux用户及权限相关知识

linux用户及相关知识 一.相关名词解释 每一个用户名都对应一个用户ID即UID,主机通过用户名解析成UID进行用户识别. 每一个用户组名都对应一个组ID即GID,主机通过用户组名解析成GID进行用户识别. 1.名称解析:将用户名和UID进行转换. 2.用户认证:验证该用户是否具有该权限登陆该主机. 3.用户授权:该用户是否有权限访问该文件. 4.审计:记录该用户在当前系统的行为. 5.认证机制 :linux默认的认证机制 shadow   影子口令 [[email protected]/]#

6.linux 用户和权限的建立

一.用户和权限的建立 su  用户名       切换用户,如果是root用户切换其他用户,不需要输入密码. exit  可以切换回上一个用户 linux 操作系统用户分哪几类? 管理员:root用户   uid 值 0 普通用户:uid 500 到 60000 之间  可以登录系统 /bin 程序用户:uid  1-499  不可以登录系统  当程序启动时需要调用用户的权限,只能赋予程序用户的权限 /etc/passwd   记录系统中所有用户的信息 root:x:0:0:root:/root

Linux 用户、权限

目录结构 Linux和Windows目录结构的组织形式有很大不同, Windows 划分出了"盘"的概念(C盘.D盘.E盘),已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写. 以反斜杠(\)分割目录 Linux 首先是建立一个根(/)文件系统,所有的目录页都是有根目录衍生出来的, 以斜杠(/)分割目录 在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树. 目录树的特点是