Linux账户与权限管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux账户与权限管理相关的知识,希望对你有一定的参考价值。
一、用户概述
用户分类
(1)超级用户(root):Linux权限最高用户;UID为0
(2)程序用户:用于程序使用,不允许登录系统;UID为1-499
(3)普通用户:用户自创建用户;UID为500外后
二、Linux相关用户文件
1、/etc/passwd(存放Linux用户信息)
root:x:0:0:root:/root:/bin/bash
用户名:
密码占位符:
UID:
基本组GID:
用户别名:
家目录:
shell(/bin/bash可登录系统、/sbin/nologin不允许登录系统)
2、/etc/shadow(存放Linux用户密码文件)
root:$WZIQ1:17211:0:99999:7:::
用户名:
密码(*当前未设置密码、!!当前不允许登录):
上次修改密码的天数(1970.1.1开始计算):
密码最短使用期限(0可随时更改):
密码最长使用期限(99999密码永不过期):
提前多少天警告密码过期时间:
多少天后账户被禁用:
账户失效时间:
保留字段
三、用户管理
1.新建用户
useradd | adduser [ 选项 ] 用户名
选项:
-M:不新建家目录(用户作为程序用户)
-m:新建家目录,缺省值
-s:指定用户的Shell(/bin//bash、/bin/zsh、/bin/csh、/bin/xsh、/sbin/nologin)
注:/etc/shells文件中存储当前系统所有已支持Shell
-g:指定用户所属的基本组;默认创建于用户同名的基本组
-G:指定用户所属的附加组
-u:指定UID
注:默认新建用户,如不加选项则使用初始参数;例:useradd u01 --> /etc/default/useradd(设置家目录、Shell、UID、GID) --> /etc/skel/(拷贝默认用户文件)
例:useradd -s /sbin/nologin hehe
//新建用户hehe,不允许登陆系统useradd -s /bin/bash -G whell,ftp hehe
//新建普通用户hehe,将hehe加入whell、ftp组
2.更改用户
usermod [ 选项 ] 用户名
选项:
-u:指定UID
-s:指定用户的Shell(/bin//bash、/bin/zsh、/bin/csh、/bin/xsh)
例:usermod -u 100 nginx
//更改用户nginx的UID为100(该UID不能被使用)usermod -s /bin/bash nginx
//更改用户登陆Shell,允许用户nginx登陆系统(passwd nginx必须设置密码)
3.删除用户
userdel [ -r ] 用户名
选项:
-r:删除用户家目录
例:userdel -r nginx
//删除用户nginx,并删除该用户的家目录
四、组概述
组的分类
(1)基本组(私有组):一个用户只可属于一个基本组,一般为与用户名同名的组;GID为500以后
(2)附加组(共有组):一个用户可属于多个附加组;GID为1-499
(3)超级组:Linux下管理员组,只有root用户;GID为0
五、Linux组账号文件
1、/etc/group(组信息文件)
mail:x:12:mail,postfix
组名:
密码占位符:
GID:
成员列表
2、/etc/gshadow(组密码文件)
mail:::mail,postfix
组名:
密码:
组管理者:
成员列表
六、组管理
1.新建组
groupadd [ -g ] 组名
选项:
-g:指定新建组的UID
例:groupadd -g 700 q
//新建GID为700的组,名称为q
2.添加成员
①gpasswd -a 用户 组名 //添加一个用户到指定组
②gpasswd -M “用户,用户” 组名 //同时添加多个用户到指定组
例①:useradd -s /bin/bash -m haha
gpasswd -a haha q
//将用户haha加入到q组
例②:gpasswd -M "u01,u02" hehe
//将u01、u02用户加入到hehe组
3.删除成员
gpasswd -d 用户 组名
例:gpasswd -d haha q
//将用户haha从q组中移除
4.删除组
groupdel 组名
例:groupdel q
//删除组q
七、查询帐号信息
1.id 用户名 //查询用户的UID、基本组、附加组
2.groups 用户名 //查询用户所属组
3.使用finger查看账户详细信息
(1)mount /dev/cdrom /mnt //挂载光盘到/mnt目录
(2)rpm -ivh /mnt/Packages/finger-0(table键) //安装finger软件包
(3)finger 用户名 //查询用户的详细信息
4.users //查询当前登录用户
5.who //简单查询Linux系统所有登录用户信息
6.w //详细查询Linux系统所有登录用户信息
7.pts/0:代表为远程登陆,第一个远程
8.tty1:本地登陆的第一个终端
八、密码管理
1.设置用户密码
passwd [ 选项 ] 用户名 //设置用户密码
echo "密码" | passwd --stdin 用户名 //一般用于脚本
选项
-d:设置用户密码未空,建议不使用该选项
-x:指定密码最长使用时间,默认永久
-n:指定密码最短使用时间,默认为0,任意时间都可更改密码
chage -E "时间" 用户 //设置账号失效时间
chage -l 用户 //查看账号的密码控制信息(如最短、最长密码使用时间等)
注:默认root用户可设置所有用户密码,并不需要该用户原密码;而普通用户只能更改自己的密码(passwd),并且需要原密码
例:echo "123" | passwd --stdin haha
//设置haha用户密码为123
2.锁定用户
passwd -l 用户
3.解锁用户
passwd -u 用户
九、权限
r:读取//4
w:写入//2
x:执行//1
1.查看权限
(1)ls -l 文件 //查看文件权限
例:ls -l /etc/hosts
-rw-r--r--. 1 root root 158 Jun 12 2010 /etc/hosts
-:文件的类型(-文件、d目录、l链接文件、b块设备文件、c字符设备)
rw-:文件所有者的权限
r - -:文件所有组的权限
r - -:其它用户的权限
1:表示文件硬链接数量
root root:所有者、所属组
158:大小(k)
Jun 12 2010:创建时间或修改时间
(2)ls -ld //目录查看目录权限
例:ls -ld /etc/
drwxr-xr-x. 92 root root 4096 Jun 14 14:20 /etc
d:表示它是一个目录
rwx:目录所有者的权限
r-x:目录所有组的权限
r-x:其他用户的权限
92:该目录下的子目录数量
root root:目录的属主和属组
4096:目录的大小(k)
Jun 14 14:20:目录创建的时间或修改时间
2.权限详解
(1)文件
r:用户可查看文件内容,cat、more、head等命令
w:用户可修改文件内容,vim等
x:用户可执行该文件,脚本、程序
(2)目录
r:用户可列表查看目录下内容,ls等命令
w:用户可在目录下新建、删除文件或目录
x:用户可进入目录,cd命令
3.设置权限
chmod [ -R ] 文件/目录
选项:
-R:递归设置权限,用于目录
例:chmod -R 750 /hiahia/
//设置/hiahia/目录为750,并且目录下的子目录和文件也应用权限
(1)方式一
u:所有者
g:所有组
o:其他用户
a:所有用户
+、-、=
例:
①chmod u-w /hiahia/
//设置所有者对/hiahia/目录的写入权限
②chmod g=rwx /hiahia/
//设置所有组对/hiahia/目录拥有所有权限
③chmod o+w /hiahia/
//设置其他用户对/hiahia/目录增加写入权限
④chmod a=rx /hiahia/
//设置所有用户对/hiahia/目录拥有读取、执行权限
(2)方式二
以三个8进制的数表示,第一位表示所有者的权限、第二位表示所有组的权限、第三位表示其他用户的权限
r(4)、w(2)、x(1)
例:
①chmod 750 /hiahia/
//设置所有者对该目录拥有完全权限、所有组队对目录拥有读取和执行权限、其他用户无权限
②chmod 474 /hiahia/
//设置所有者对该目录拥有写入权限、所有组对目录拥有完全权限、其他用户对目录拥有写入权限
4.设置属主
chown 用户:组名 文件/目录
例:
①ls -l /etc/hosts
//查看/etc/hosts文件权限
drwxr-xr-- root nginxchown heihei /etc/hosts
//更改属主为heihei
drwxr-xr-- heihei nginx
②ls -l /etc/hosts
drwxr-xr-- root nginxchown :root /etc/hosts
//更改属组为root
drwxr-xr-- root root
③ls -l /etc/hosts
drwxr-xr-- root nginxchown nginx:root /etc/hosts
//更改属主和属组
drwxr-xr-- nginx root
以上是关于Linux账户与权限管理的主要内容,如果未能解决你的问题,请参考以下文章