Linux系统下用户以及权限管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下用户以及权限管理相关的知识,希望对你有一定的参考价值。
参考技术A一、操作系统中的用户管理 相关配置文件解读
Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存操作系统中的所有用户信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用户名 :密码占位符 :uid :基本组的gid :用户信息记录字段:用户的家目录:用户登录系统后使用的命令解析器
————————————————
字段1:用户名
字段2:密码占位符
字段3:用户的UID 0 表示超级用户 , 500-60000 普通用户 , 1-499 程序用户
字段4:基本组的GID 先有组才有用户
字段5:用户信息记录字段
字段6:用户的家目录
字段7:用户登录系统后使用的命令解释器
————————————————
UID:0表示超级用户, 程序用户 (1-499),普通用户 (500以上60000以下),根据uid将用户分为以上三类用户。
/etc/shdaow 保存用户密码(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用户名:密码(加密后的字符串):最近一次的修改时间【距离1970年1月1日的距离】:密码的最短有效期:密码的最长有效期:密码过期前7天警告:密码的不活跃期:用户的失效时间: 保留字段
————————————————
字段1:用户名
*字段2:用户的密码加密后的字符串(sha)
字段3:距离1970/1/1密码最近一次修改的时间
字段4:密码的最短有效期
*字段5:密码的最长有效期(建议时间 90)
字段6:密码过期前7天警告
字段7:密码的不活跃期
字段8:用户的失效时间
字段9:保留字段
这个字段目前没有使用,等待新功能的加入。
————————————————
/etc/group 保存组信息
————————————————
root:x:0:
bin:x:1:bin,daemon
组名:组的密码占位符:gid:附加组成员
————————————————
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd配置文件
二、文件及目录权限
文件与权限: 即文件或者目录属于哪个用户,属于哪个组,不同的用户能对该文件进行何种操作。
————————————————
注:
查看文件权限: ls -l 文件
查看目录权限 : ls -ld 目录
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt -> /root/Desktop/ming
-rw-r--r--. (文件属性) 1 (链接个数: 表示指向它的链接文件的个数 ) root (所属者) root (所属组) 0(文件大小:单位byte) Jul 14 14:14(最后一次修改时间) 2.txt(文件名)
drwx------.(文件属性) 7 (目录中的子目录数: 此处看到的值要减2才等于该目录下的子目录的实际个数。 ) root (所属者) root (所属组) 4096 (文件大小:单位byte)Jul 13 16:56(最后一次修改时间) vmware-tools-distrib(目录名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件属性解释:
- rw- r-- r-- .
d rwx r-x r-x .
字段1:文件类型 【- 普通文件 d目录 l符号链接 b块设备】
字段2:文件所有者对该文件的权限
字段3:文件所属组的权限
字段4:其他用户的权限(既不是文件所有者也不是文件所属组的用户)
字段5:表示文件受 selinux 的程序管理
8进制赋权法: r 【100】4; w【010】2; x【001】1
————————————————
三、用户以及权限管理命令汇总:
————————————————
用户增删改命令
useradd
userdel
usermod
————————————————
用户组增删改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件权限修改: chmod命令
chmod 对象 算数运算符 权限 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所属者修改:
chown 用户 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所属组修改:
chgrp 组 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8进制赋权法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令“ll”是“ls -l"的别名。
————————————————
粘滞位:赋权后的文件 只有建立者可以删除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 赋权后的目录,新建立的文件或者子目录的所属组继承父目录的所属组
chmod g+s 目录
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允许谁运行该文件具有该文件所属者的权限
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
备注:linux 红底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滞位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允许添加新用户的请求
chattr命令 :用于改变文件属性
chattr +i 文件
lsttr命令 :查看文件属性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用户的umask默认值是0022,一般用户默认是0002
目录的最高权限 0777-0022=0755
文件的最高权限 0666-0022=644
一般服务器配置umask的值配置为027最好;需要去修改两处文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默认的密码最长有效期:修改以下配置文件
/etc/login.defs
Linux_用户组及权限管理
Linux系统是一个多用户、多任务的操作系统!所谓的多用户是指多人同时使用系统资源、多任务则是指同时运行多个程序。
用户分为管理员和普通用户,普通用户又分为系统用户和登录用户。其中管理员的权限是最大的,管理员具有在有限资源的情况下给不同用户分配资源,以及对不同用户的监控、管理。系统用户仅运行服务程序,而登录用户是系统资源的正常使用者
在不同的CentOS版本上每个用户的用户标识(UID)也是不一样的。具有一定的限制。而管理员的UID是"0"。
如在,CentOS 5,6版本上 系统用户的UID是1-499 普通用户的UID是500+
CentOS 7.0版本上 系统用户的UID是1-999 普通用户的UID的1000+
实现用户账号的管理,要完成的工作主要有:用户账号的添加、修改、删除、密码管理、用户组的管理……等等,下面将会介绍到这些!
一、用户管理
用户账号的管理工作主要涉及到账号的添加、修改和删除。
1、添加新的用户账号使用"useradd"命令,常规选项如下。
-g:指定用户的用户组 -G:指定用户的附加组
-c:注释信息 -d:指定用户的家目录
-m:强制创建家目录 -s:用户登录的Shell名
例:
如上图所示,新建一个用户"lweim",其登录Shell名是"bin/ksh",主目录是"/home/lweim";另一个新建用户"slackware",其登录Shell是"/bin/bash",主目录是"/usr/slackware"
注意:新建用户"useradd"后面加"-d"和不加"-d"或加"-s"和不加"-s"是不同的。不加"-d"则是系统默认的家目录"/home/lweim"。加了"-d"则是指定的家目录"/usr/slackware"
不加"-s"则是系统默认的登录Shell,加"-s"则是指定的登录Shell
2、如过一个账号不在使用,可以从系统中删除掉,删除一个账号要使用到"userdel"命令,常规选项如下。
-r:一并删除家目录
例:
由图可知。在删除用户"wangtc"时没有加"-r",其还有家目录。
在删除用户"wangzix"时加了"-r",其家目录一并删除。
3.用户的修改。就是修改用户的相关属性。如家目录、用户组、登录Shell……等等,用户修改要使用"usermod"命令,常规选项如下。
-c:注释信息 d-:修改家目录的位置
-s:修改登录Shell名
例:
使用"usermod"命令后,用户"lweim"的家目录从"/home/lweim"变更成"/usr/lweim"。登录Shell名从"/bin/ksh"变更成"/bin/bash"
4.密码管理;
用户管理的一项重要内容就是密码管理,超级用户(管理员)可以改变自己和其他用户的密码,普通用户只能修改自己的密码。其修改密码需要用到"passwd"命令,常规选项如下;
-l:锁定密码 -u:解锁密码
-d:清除密码
例:
二、用户组管理
每一个用户都有一个用户组,也可以拥有多个附加组(即额外组)。用户组的管理涉及到用户组的添加、修改和删除。
1、增加一个新的用户组使用"groupadd"命令,常规选项如下;
-g:指定新用户组的组标识号 -r:创建一个系统组
例:
第一条命令是创建了一个名为"group1"的用户组,其组标识号为1001;
第二条命令是创建了一个名为"group2"的系统组,其组标识号为986;
2、修改用户组的属性使用"groupmod"命令,常规选项如下;
-g:为用户组指定一个新的组标识号 -n:为用户组改一个新名字
例:
此命令是将用户组"group4"命名为新的名字"group5",且用户组标识号从"2223"变更成"3333"。
3、如果要删除一个已有的用户组,要使用"groupdel"命令。
例:
此用户的命令是将用户组"group5"删除。
三、权限管理
Linux是一种典型的多用户系统,不同的用户处于不同的地位,也就具有不同的权限。每位用户访问同一文件或目录的权限也就不同。
我们可以使用命令"ll"或"ls -l"来显示一个文件或目录的属性及所属的用户和组。常规选项如下;
例:
实例中,目录"etc"文件的第一个属性用"d"来表示,"d"在Linux中代表该文件是一个目录文件。其他属性如下;
[-]:表示文件
[l]:表示为链接文档
[b]:表示为装置文件里面的可供存储的接口设备(可随机存取装置)
[c]:表示为装置文件里面的串行端口设备,例如键盘、鼠标。
"",除去第一个字符"d",接下来的字符中,以三位为一组,左三位是属主的访问权限(user)、中三位是属组的所有用户的访问权限(group)、右三位是其他用户的访问权限(others)。且均为[rwx]的三个参数组合。其中"r"代表可读权限、"w"代表可写权限、"x"代表可执行权限。"-"代表没有任何权限。
注意:这三个权限的位置不会改变,且存在两种状态“要么有权限(用1表示)、要么没权限(用0表示)”。八进制的数都是由三位二进制的数组成,如下;
---:000 0
--x:001 1
-w-:010 2
-wx:011 3
r--:100 4
r-x:101 5
rw-:110 6
rwx:111 7
目录"etc"的权限是[rwxr-xr-x];
user=rwx=5 group=r-x=5 others=r-x=5
即目录"etc"的权限可表示为"755"
1、想要变更权限,有三种方法。都需要使用"chmod"命令,常规选项如下;
-R:进行递归的变更,即目录本身和目录以下的文件的权限会一同改变。
(方法1):使用"u=,g=,o=或ug=等等"的方法来改变权限!
例:
上图所示,此命令使"etc"的权限从[rwxrwxr-x]变更成[rw-rw--x]。但是没有更改目录下的文件。想要更改连同目录下文件的属性一起更改,需要使用"-R"选项。如下图
(方法二):使用"u+,g+,o+或ug+等等"的方法来改变权限!
例:由(方法1)中的图所知目录"etc"的权限是[drw-rw---x],现在想要变更权限为[drwxrwxr-x],方法如下:
例:
由上图可得,目录本身即目录下文件的权限都变更为[drwxrwxr-x]
(方法三):上面说到,每一个权限都可以表达成一个八进制的数。例如"775"可表示权限为[drwxrwxr-x]、664可表示权限为[drw-rw-r--]。所以我们可以依据这个来改变目录及文件的权限。如果想把文件及目录的权限改为770(drwxrwx---),则方法如下;
例:
图中显示目录及目录下的文件的权限都改变为770.即[drwxrwx---];
注意:方法一和方法二中的"u="和"u+"是不同的。
"u="是某一组中的三位权限同时改变
"u+"是改变某一组中某一位的权限
例如:权限为"r-x-wx---"
"u=r"则显示为[r---wx---]
"u+w"则显示为[rwx-wx---]
2、更改目录或文件的属组需要用到"chgrp"命令,常规选项如下。
-R:目录下的所有文件的属组一同改变。
例:
图中显示,目录"etc"及目录下所有文件的属组都从"root"变更成"mageedu"
3、更改目录或文件的属主需要用到"chowm"命令,也可以同时更改目录或文件的属组。常规选项如下;
-R:目录下的所有文件的属组一同改变。
例:
图中目录"etc"及目录下所有文件的属主都从"root"变更成"wtc",属组都从"mageedu"变更成"lweimin"。
本文出自 “11265133” 博客,请务必保留此出处http://11275133.blog.51cto.com/11265133/1749443
以上是关于Linux系统下用户以及权限管理的主要内容,如果未能解决你的问题,请参考以下文章