目录
一.用户账号管理
1.Linux基于用户身份对资源访问进行控制
1.1 用户帐号
超级用户:
root 用户是Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于
windows操作系统中的 Administrator 用户。只有当进行系统管理、维护任务时,才建议使用root用
户登录系统,日常事务处理建议只使用普通用户账号。root拥有对系统的最i高的管理权限ID=0
普通用户:
普通用户账号需要由 root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自
己的宿主目录中拥有完整权限系统用户UID:1-999 (centos7版本)1-499(centos6版本)UID:即每个用
户的身份标示,类似于每个人的身份证号码.
程序用户:
在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允
许登录到系统,而仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail等
伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache
1.2 组帐号
基木组:
基于某种特定联系(如都需要访问FTP 服务)将多个用户集合在一起,即构成一个用户组,表示
该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的砖本组
(或私有组) :
附加组:
若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。
2.用户账号文件
2.1 保存用户名称、宿主目录、登录Shell等基本信息
文件位置 /etc/passwd
2.2 保存用户的密码、账号有效期等信息
文件位置 /etc/shadow
在linux系统中用户信息文件被保存在/etc/passwd文件中,在文件中我们可以看到用户的相关信息,但这个文件中并没有用户的密码
我们每创建一个用户,用户信息会自动加入到/etc/passwd文件中,在文件中以冒号为分隔符
第一位代表用户名,
第二位代表密码占位符,
第三位代表用户ID,
第四位代表用户组ID,
第五位代表用户描述信息,
第六位代表用户主目录,
第七位代表用户默认shell。
用户的密码文件在/etc/shadow文件中,可以通过查看命令进行查看
第一位代表用户名,
第二位代表用户密码,如果!!代表用户还没有密码,
第三位代表用户上次修改密码距离1970年1月1日的天数,
第四位代表密码最短有效天数,0为无限制,
第五位代表密码最长有效天数,99999可以理解为无限制,
第六位代表密码到期警告天数默认是7,进行警告后可以使用旧密码,
第七位代表密码宽限期,宽限期内不允许使用旧密码,
第八位代表密码失效日期
3.chage命令
-m: 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M: 密码保持有效的最大天数。chage -M 60 root
-w: 用户密码到期前,提前收到警告信息的天数。
-E: 帐号到期的日期。过了这天,此帐号将不可用。
-d: 上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-1:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
4.useradd命令
useradd[选项]..用户名
-u: 指定用户的UID号,要求该UID号码未被其他用户使用。
-d: 指定用户的宿主目录位置(当与-M一起使用时,不生效)。
-e: 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g: 指定用户的基本组名(或使用GID号)。
-G: 指定用户的附加组名(或使用GID号)。
-M: 不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录。
-s: 指定用户的登录Shell。
5.设置/更改用户口令passwd
passwd[选项]...用户名
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户
-s:查看用户账户的状态
-u:解锁用户账户
6.修改用户账号的属性usermod
usermod[选项]...用户名
-l:更改用户账号的登录名称(Login Name ) .
-L:锁定用户账户。
-U:解锁用户账户。
usermod:修改用户的UID号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用rYYY-M-DD的日期格式。
-g:修改用户的基本组名《或使用GID号)
-G:修改用户的附加组名(或使用GIDT)
-s:指定用户的立录shell。
7.删除用户账号userdel
userdel [-r]...用户名
二.组账号管理
1.groupadd命令
groupadd [-g]...组账号名
2.添加删除组成员gpasswd
gpasswd[选项]...组帐号名
-a:添加用户到组
-d:从组剧除用户
-A:指定管理员
-M:指定组成员和-A的用途差不老
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
3.删除组账号groupdel
groupdel组帐号名
三.用户账号文件与组账号文件
1.用户账号的初始配置文件
(1)文件来源
新建用户账号时,从/etc/skel目录中复制而来
(2)主要的用户初始配置文件
①~/.bash_profile
②~/.bashrc
③~/.bash_logout
(3)含义
①. bash_profile:
示例代码中为用户添加了2个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值,(PATH的查找是从前开始查找,找到就返回)CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath。
② .bashrc:
例子中定义了路径,语言,命令别名(使用rm刑除命令时总是加上-i参数需要用户确认,使用ls命令列出文件
列表时加上颜色显示)。每次修改.bastrc后,使用source ~/.bashrc(或者. ~/.bashrc)就可以立刻加载修改后的设置,使之生效。一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。
关于环境变量的读取顺序:
用户登录->>加载~/.bash profile --> bash profile中配置了首先是使~/.bashrc生效。
③.bash_logout:用途:用户登出时执行的命令
# ~/.bash_ logout
#在当前用户登出时,打印出Logout和当前的时间echo "Logout,‘ date ‘"
例子:
如果需要每个用户登出时都清除输入的命令历史记录,可以在/etc/skel/.bash_logout文件中添加下面这行rm-rf $HOME/.bash_history。这样,当用户每次注销时,.bash_history 文件都会被删除。
2.组账号文件
(1)与用户账号文件相类似
/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息
grep "^root" /etc/group ###检索root组包括哪些用户
grep "root" /etc/group ###检索那些组包括root用户
(2)含义
与组账号相关的配置文件也有两个,分别是/etc/group和/etc/gshadow。
前者用于保存组账号名称、GID号、组成员等基本信息,后者用于保存组账号的加密密码字串等信息(但是很少使用到)。
某一个组账号包含哪些用户成员,将会在group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之问使用“,”(逗号)分隔。
四.查询账号相关信息的命令
1.groups命令查询用户所属的组
groups [用户名]
2.id命令查询用户身份标识
id[用户名]
3.Ifinger命令查询用户帐号的详细信息
finger [用户名]
4.w、 who、users命令
查询已登录到主机的用户信息
User:群录用户名
TTY:登来后系统分己的终端号From:远程主机名.即从哪登录的logines何呵时登录
IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。
JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行
五.文件/目录的权限和归属
1.访问权限
●读取r:允许查看文件内容、显示目录列表
●写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
●可执行x:允许运行程序、切换目录
2.归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
3.设置文件和目录的权限chmod
-R:递归修改指定目录下所有子项的权限
4.设置文件和目录的归属chown
chown 属主文件或目录
chown :属组文件或目录
chown 属主:属组文件或目录
-R:递归修改指定目录下所有文件、子目录的归属
六.权限掩码umask
1.umask作用
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
umask设置: umask 022
umask查看:umask
示例
●将umask设为000,新建目录或者文件,查看权限
●将umask设为022,新建目录或者文件,再查看权限
七.总结
用户账号管理(useradd、passwd、usermod、userdel)
组账号管理(groupadd、gpasswd、groupdel)
用户账号文件与组账号文件
查询账号相关信息的命令(groups、id、finger、 w)
设置目录与文件权限(chmod)
设置目录与文件归属(chown)