用户,组,权限
安全上下文
权限
r,w,x
文件:
r:可读,可使用相似cat等命令查看文件内容
w:可写,能够编辑或删除此文件
x:可执行,能够命令提示符下看成命令提交给内核运行
目录:
r:能够对此目录执行ls以列出内部的全部文件
w:能够对此目录建立文件
x:可使用cd切换进此目录,也可使用ls-l查看内部
r:4
w:2
x:1
三类用户
u:属主
w:属组
o:其余用户
用户:UID,/etc/passwd
组:GID /etc/group
影子口令
用户:/etc/shadow
组:/etc/gshadow
用户类型
管理员:0
普通用户:1-65535
系统用户:1-499
通常用户:500-60000
用户组类别:
管理员组:
普通组:
系统组
通常组
用户组类别:
基本组:用户的默认组
私有组:建立用户时,若是没有为其指定所属的组,系统会自动为其建立一个与用户名同名的组
附加组,额外组:默认组之外的组
cat /etc/passwd
用户名,登陆密码,uid,gid,注释,家目录,用户默认shell
cat /etc/shadow
登陆名,加密密码,
cat /etc/group
组名,密码站位符,组id,以这个组为附加组的用户列表
加密方法
对称加密:加密和解密使用同一个密码
公钥加密:每一个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)
单项加密:散列加密,提取数据特征码
cat /etc/shells
指定了当前系统中可用的安装shell
用户管理:
useradd userdel usermod passwd chsh chfn finger id chage
组管理
groupadd groupdel groupmod gpasswd
权限管理
chown chgrp chmod umask
useradd
-u UID
-g GID(基本组)
-G GID,... (附加组)
-c "COMMENT" 指定注释信息
-d /path/to/somedirectory 指定家目录
-s shell 环境变量
-M 建立时不建立家目录
-r
环境变量:
PATH
HISTSIZE
SHELL
useradd -G mygroup user3
tail -l /etc/passwd
tail /etc/group
#useradd -M user7
#su - user7
-bash-3.2$ pwd
/root
userdel
后加用户名,不会删除其家目录
-r 删除用户的同时删除家目录
id
-nu 用户的用户名
-ng 用户组的组名
-nG 每个组的组名
修改用户帐号属性
usermod
-u UID
-g GID
-a -G GID 为用户在原有附加组的状况下,添加附加组。不适用-a会覆盖此前的附加组
-c
-d -m;指定新家目录的位置,也要移动此前的文件到新的家目录中
-s
-l更改用户名
-L 锁定帐号
-U 解锁帐号
finger:用户帐号信息
finger username
chsh:修改用户的默认shell
chfn:修改信息
finger,chsh,chfn这三者互用。
密码管理:
passwd
--stdin 不用交互使用
-l 锁定
-u 解锁
-d 删除密码
echo '123' |passwd --stdin user3
pwck:检查用户帐号完整性
groupadd
-g GID
-r 添加一个系统组,系统用户没有家目录
groupmod
-g GID
-n 指定新的组名
groupdel
gpasswd 组名 :给组设定密码
newgrp 组名 :登陆到新组,而后退出用exitlinux
练习:
1 建立用户mandriva,id为2002,基本组distro(组id3003),附加组Linux
# groupadd -g 3003 distro
#groupadd linux
#useradd -u 2002 -g distro -G linux mandriva
2 建立用户fedora,全名Fedora COMMENT,默认shell为tcsh
# useradd -c "Fdora 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 fedorashell
5 将mandriva的默认shell改成/bin/bash
#usermod -s /bin/bash mandirva安全
6 添加系统用户hbase,且不容许其登陆系统
# useradd -r -s /sbin/nologin hbase
chage
-d 最近一次修改的时间
-E 过时时间
-I 非活动时间
-m 最短使用期限
-M 最长使用期限
-W 警告时间
三类用户
u:属主
w:属组
o:其余用户
chown:改变文件属主(管理员使用此命令)
-R:修改目录及其内部文件的属主
--reference=/path/to/somfile file
将/tmp/abc属性改成和/tmp/dfe 属性一致
chown --reference=/tmp/abc /tmp/dfe
chmod :修改文件权限
-R
--reference=/path/to/somefile file
修改某类用户或者某些类用户权限,某位或某些位权限
u,g,o,a + ,—
站在用户登陆角度说,SHELL的类型:
登陆式shell:
正常登陆某终端登陆
su - username
su - l username
非登陆式shell
su USERNAME
图形终端下打开命令窗口
自动执行shell脚本
bash的配置文件
全局配置
/etc/profile, /etc/profile.d/*.sh, /etc/bashrc
我的配置
~/.bash_profile, ~/.bashrc
profile类的文件:
设定环境变量
运行命令或者脚本(一登陆)
bashrc类是文件:
设定本地变量
定义命令别名
登陆式shell如何读取配置文件:
/etc/profile--> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非登陆式shell如何配置文件:
~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh
bash