Linux基础(七)


用户,组,权限

安全上下文

权限
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 组名 :登录到新组,然后退出用exit

练习:
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 fedora
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

原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8848654.html