Linux用户管理和权限管理

一、管理用户账号和组账号

1、1用户账号说明

超级用户:管理员账号,root,默认对本机拥有最高权限的账户。在系统中是唯一的。

普通用户:一般都是由管理员创建的,拥有的权限是受限的,一般只在自己的家目录中 拥有完整的权限,普通用户可以正常登录系统。

程序用户:在安装软件时,部分应用程序需要创建一些账号,来保证程序的正常运行,就会创建一个程序用户。程序用户是一些特定的低权限的账户,而前这些账户是不能登录的,作用是保证程序正常运行。

1、2 UID和GID

UID :用户的标识号,创建用户的时候可以指定,也可以由系统自动分配,UID 是唯一的,不能重复。

GID :组标识号,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复。

用户账号可以根据UID号来区分

管理员UID :0

普通用户UID :100开始

程序用户UID :1-999 

判断一个用户是否是管理员,以UID为标准。查看UID方法:UID存放在/etc/passwd中。

1、3 对/etc/passwd中条目的解释

/etc/passwd中保存的是用户信息,对/etc/passwd中条目的解释如下

 字段1:root :用户的名称

字段2 :x :用户密码的占位符,无实意

字段3 :0 :用户的UID

字段4 : 0 : 用户的GID

字段5 :root :用户的全名,一般和字段1一致

字段6 :/root :用户家目录所在位置

字段7 : /bin/bash:用户登录的shell,  shell默认的解释器就是bash。只有是/bin/bash才可以登录系统

/sbin/nologin和/bin/false都表示不可以登录系统,一般程序用户额shell都是/sbin/nologin。

1、4 对/etc/shadow中条目的解释
/etc/shadow 保存的是用户的密码和账户的有效期。(密码字段经过加密)(用 :分隔字段)


字段1:用户的账号名称

字段2:用户的密码,MD5加密。 * 表示不能登录系统,!!表示密码为空(不是真的空,提示密码未创建),什么都没有才是真的为空。

字段3:表示上一次修改密码的时间,表示从1970-1-1到修改时过了多少天

字段4:密码的最短有效天数,0表示不限制

字段5:密码的最长有效天数,99999表示不限制

字段6:提前多少天警告用户密码将过期

字段7:密码过期之后多少天会禁用此用户

字段8:账号的失效时间(失效了多久),为空表示永不失效

字段9:保留字段,无实意。

1/5 用户账户管理命令
useradd 命令

useradd :添加用户,创建用户

useradd -u :指定UID号,已被占用的UID不能指定

useradd -d :指定用户的家目录的位置。一般不动。

useradd -e :指定用户的账户失效的时间,格式 yyyy-mm-dd,年-月-日。

useradd -M :创建用户时不建立家目录。

useradd -s :创建用户时指定用户的登录shell。

1、6 passwd 命令
 
passwd -d :清空指定用户的密码。(慎用!)

passwd -l :锁定用户,使之无法登陆。(从超级管理员切换到用户不受限制)

passwd -u :解锁用户。

passwd -S :查看用户的状态,查看用户是否被锁定。

修改密码的另一种方法:

 

1、7 usermod 命令
 
usermod -u :修改用户的UID

usermod -d :修改用户的家目录地址(不常用此功能)

usermod -e :修改用户的账户失效时间,yyyy-mm-dd(年-月-日)

usermod -s :修改用户登录的shell

usermod -L :锁定用户

usermod -U :解锁用户

锁定用户的两种方式:

passwd -l

usermod -L 

1、8 组账号说明 /etc/group :组账号信息

/etc/gshadow :保存组账号的额外信息

创建用户时自动创建组账号,一般不许要对组账号做额外的操作。

  组账号命令
groupadd :添加组账号

groupdel :删除组账号

gpasswd 命令

 
gpasswd :修改组密码

gpasswd -a :向组内添加用户

gpasswd -d :从组内删除用户,删除组员只能单个删除

gpasswd -M :定义组员的列表,每个用户用逗号隔开,可一次性添加多个组员

1、9 配置文件
/etc/profile :全局配置,对所有用户都生效

~/.bash_profile :用户登录时会读取的配置,只对自己生效。

~/.bashrc :用户的配置文件,只对自己生效。每一次新打开一个子shell(建立一个终端),就会读取这个文件。每次登录都是shell的一个子shell,每个子shell之间互相隔离。

~/.bash_logout:用户退出当前shell的时候会执行的配置文件。

修改配置后,使用source + 配置文件名 ,使修改后的配置立即生效。重启系统也可以使配置生效。

读取顺序(优先级)从高到低:

/etc/profile :先读全局配置

~/.bash_profile :再读登录用户配置

~/.bashrc :再读打开子shell的配置

~/.bash_logout :退出子shell时的配置

二、权限管理

查询用户信息

id命令:id查询用户 UID ,GID 格式如下:

2.2 文件、目录的权限和归属

旧的方法

U:所有者;G:所在组;O:其他用户;A:所有用户

例:a+x :所有用户赋予执行权限

被八进制算法替换了。

新的方法:

无权限即为0,举列说明:rwx rw- r-x :对应数字为:765

2.3 管理权限的命令
2.3.1 chmod命令

chmod :change mode :赋权命令

 

 chmod -R :递归赋权,对目标目录下所有(文件和子目录)批量赋权

2.3.2 umask命令

umask :用来设定文件和目录的默认权限

 

文件的默认权限:666

目录的默认权限:777

文件和目录的实际默认权限:= 默认权限 - umask。

创建文件,默认不赋予执行权限。所以实际权限一旦为奇数,默认+1。

创建目录,一定要有执行权限,没有执行权限,就不能cd进入这个目录。所以无论给不给执行权限,目录都有执行权限。

问:我要修改一个文件的默认权限,怎么办?

答:修改umask,如果是文件,怎么改umask都没有执行权限。

2.3.3 chown命令
chown:change own,修改所有者和所在组。前提:用户和所在组要存在,要先创建好。

chown id:id :所有者和所在组一起变

chown id.id :同上

chown id :只改变所有者

chown .id :只改变所在组

chown :id :同上

chown -R :递归改变所有者和所在组,模式同chmod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值