linux基础03-用户及权限
Posted mountain2011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础03-用户及权限相关的知识,希望对你有一定的参考价值。
(1)文件:
r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;
(2)目录:
r: 可以对此目录执行ls以列出内部的所有文件;
w: 可以在此目录创建文件;
x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;
0 000 ---:无权限
1 001 --x: 执行
2 010 -w-: 写
3 011 -wx: 写和执行
4 100 r--: 只读
5 101 r-x: 读和执行
6 110 rw-: 读写
7 111 rwx: 读写执行
(3)
用户:UID, /etc/passwd //存储每个用户的ID号,密码(不显示,安全起见,会参照到影子口令)等。
组:GID, /etc/group //存储每个组的ID号,密码等。
影子口令的位置(用户和组的密码):
用户:/etc/shadow
组:/etc/gshadow
(4)用户类别(ID号的范围):
管理员:0
普通用户: 1-65535
系统用户:1-499
一般用户:500-60000
用户组类别:
管理员组:
普通组:
系统组:
一般组:
用户组类别:
私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组。
基本组:用户的默认组。
附加组,额外组:默认组以外的其它组。
(5)
/etc/passwd 字段说明:
account: 登录名
password: 密码
UID:
GID:基本组ID
comment: 注释
HOME DIR:家目录
SHELL:用户的默认shell
/etc/shadow 字段说明:
account: 登录名
encrypted password: 加密的密码
(6)
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(public key)
单向加密,散列加密:提取数据特征码,常用于数据完整性校验
1、雪崩效应
2、定长输出
MD5:Message Digest, 128位定长输出
SHA1:Secure Hash Algorithm, 160位定长输出
(7)添加用户和组:
ls -l $(which useradd) //列出useradd
useradd USERNAME
groupadd GRPNAME //可以查看/etc/group查看
查看文件类型:file 某个文件
查看默认追加用户的规则文件: cat /etc/default/useradd
用户管理:
useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
组管理:
groupadd, groupdel, groupmod, gpasswd
权限管理:
chown, chgrp, chmod, umask
(8)与用户和组有关的文件的字段含义。
/etc/passwd: (去该文件,查看用户信息)
用户名:密码:UID:GID:注释:家目录:默认SHELL
/etc/group(去该文件查看附加组信息):
组名:密码:GID:以此组为其附加组的用户列表
/etc/shadow:
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:
(9)用户管理:
useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
useradd [options] USERNAME
-u UID //手动指定用户ID。
-g GID //(指定基本组)
-G GID,... //(指定附加组,多个时以逗号隔开。)
-c "COMMENT"
-d /path/to/directory //指定家目录,默认为/home/用户名
-s SHELL 指定该用户使用的shell路径(例:/bin/bash or tcsh or csh),
-m -k //使用-k -m选项时,会把 /etc/skel中的bash配置文件复制到用户的家目录。
-M //强制不给用户创建家目录,即使配置文件login.defs定义给用户创建家目录。
-r: 添加系统用户
•/etc/shells:指定了当前系统可用的安全shell
•查看当前系统的shell.
$SHELL 例:echo $SHELL
•创建用户的配置信息文件(包含:密码,家目录等信息)
/etc/login.defs
•环境变量:
PATH
HISTSIZE
SHELL
例:$ PATH
(10)
userdel:
userdel [option] USERNAME
//默认只删除用户,不删除家目录
-r: 同时删除用户的家目录
id:查看用户的帐号属性信息
-u //查看用户id号
-g
-G
-n //与其它选项联合,显示名称不显示id号。
例:
id -u user1
id -g user1
id -G user1
id -G
id -u -n user1
id -g -n user1
id -Gn
•finger: 查看用户帐号信息
finger USERNAME
(11)
修改用户帐号属性:
usermod
-u UID //修改用户id
-g GID //修改基本组
-a -G GID:不使用-a选项,会覆盖此前的附加组;
使用-a选项,添加新的附加组。
-c //注释信息
-d -m:两个参数一般要连用,再保证更改新的家目录时,
把原来家目录中的配置,复制到新家目录中。
-s
-l
-L:锁定帐号
-U:解锁帐号
(12)
chsh: 修改用户的默认shell
例:chsh user01
(13)
chfn:修改用户注释信息
(14)密码管理:
普通用户只能通过passwd,修改自己来的密码。
passwd [USERNAME]
--stdin //接收用户输入
-l //锁定用户账号
-u //解锁用户账号
-d: //删除用户密码
•pwck:检查用户帐号完整性
例:
ech0 "mypasswd" | passwd --stdin user01 //避免让用户手动输入密码
(15)组管理
创建组:groupadd
groupadd
-g GID //指定组id,默认为500以后,从上一个组id后续。
-r:添加为系统组
(16)
groupmod
-g GID //修改组id
-n GRPNAME
(17)
groupdel //删除组
(18)
gpasswd:为组设定密码
(19)切换到新组
newgrp GRPNAME <--> exit
例:
newgrp mygroup
例:
1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux;
# groupadd -g 3003 distro
# groupadd linux
# useradd -u 2002 -g distro -G linux mandriva
2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;
# useradd -c "Fedora Community" -s /bin/tcsh fedora
3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;
# usermod -u 4004 -g linux -G distro,fedora mandriva
4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;
# passwd -n 2 -x 50 fedora
5、将mandriva的默认shell改为/bin/bash;
usermod -s /bin/bash mandirva
6、添加系统用户hbase,且不允许其登录系统;
# useradd -r -s /sbin/nologin hbase
(20)修改用户密码过期信息
chage
-d: 最近一次的修改时间
-E: 过期时间
-I:非活动时间
-m: 最短使用期限
-M: 最长使用期限
-W: 警告时间
以上是关于linux基础03-用户及权限的主要内容,如果未能解决你的问题,请参考以下文章
10-Linux基础入门-文件和目录的属性及权限之用户与组和时间戳基础