用户、组、权限
安全上下文(secure context)
权限:
r,w,x
文件:
r:可读,可以使用类似cat等命令查看文件内容
w:可写,可以 编辑或删除此文件
x:可执行,可以在命令提示符下当作命令提交给内核运行
目录:
r:可以对此目录执行ls以列出内部的所有文件
w:可以在此目录创建文件
x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
rwx:
r--:只读
r-x:读和执行
---:无权限
对应8进制
0 000 ---:无权限
1 001 --x:执行
2 010 -w-:写
3 011 -wx:写和执行
4 100 r--:只读
5 101 r-x:读和执行
6 110 rw-:读写
7 111 rwx:读写执行
755:rwxr-xr-x
rwxrwxr-x:775
用户:UID, /etc/passwd
组:GID, /etc/group
影子口令:
用户:/etc/shadow
组: /etc/gshadow
用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000
用户组:
管理员组:
普通组:
系统组
一般组:
用户组类别:
私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组
基本组:
useradd USERNAME
groupadd GRPNAME
用户管理:
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
组管理:
groupadd,groupdel,groupmod,gpasswd
权限管理:
chown,chgrp,chmod,umask
/etc/passwd:
用户名:密码: UID:GID: 注释:家目录:默认SHELL
/etc/group:
组名:密码:GID:以此组为其附加组的用户列表
/etc/shadow:
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:
useradd [options] USERNAME
-u UID
-g GID(基本组)
-G GID,...(附加组可以有多个)
-c "comment" 注释
-d /path/to/directory 指定家目录
-s SHELL 指定SHELL路径
-r:添加系统用户(通常都不能登录系统,而且没有家目录)
/etc/login.defs
环境变量:
PATH
HISTSIZE
SHELL
/etc/shells:指定了当前系统可用的安全shell
userdel:删除一个账户 默认是不会删除家目录
userdel [options] USERNAME
-r:同时删除用户的家目录
id:查看用户的账户信息
-u
-g
-G
-n
finger:查看用户账号信息
finger USERNAME
修改用户账号属性:
usermod
-u UID
-g GID
-a -G GID:不使用-a选项,会覆盖此前的附加组
-L :锁定账号
-U:解锁账号
chsh:修改用户的默认shell
chfn:修改注释信息
密码管理:对于普通用户只能修改自己的密码
passwd [USERNAME]
--stdin
-l 锁账号
-u:解锁
-d:删除用户密码
组管理:
创建组:groupadd
-g GID
-r:添加系统组
groupmod
-g
-n:GRPNAME 组名
groupdel
gpasswd:为组设定密码
newgrp GRPNAME 切换附加组
练习:
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加密码,并设定其密码最短使用期限为两天,最长为50天
# passwd -n 2 -x 50 fedora
5、将mandriva的默认shell改为/bin/bash
# usermod -s /bin/bash mandriva
6、添加系统用户hbase,且不允许其登录系统
# useradd -r -s /bin/nologin hbase