1、用户账户
(1)root账户
Linux系统的管理员,通常分配给它的UID是0。
(2)系统账户
Linux系统会为各种各样的功能创建不同的用户帐号,这些账户并不是真的用户。
是系统上运行的各种服务进程访问资源用的特殊账户。
所有运行在后台的服务都需要一个系统账户登录到Linux系统上。
Linux为系统账户预留了500以下的UID值。
为普通用户创建账户时,大多数Linux系统会将500起始的第一个可用UID分配给这个账户。
Linux系统使用特定的文件和工具来跟踪和管理系统上的用户账户。
(3)/etc/passwd文件
文件将用户的登录名匹配到对应的UID值。
/etc/passwd文件包含的子段信息:
(4)etc/shadow文件
保存用户密码的文件,只有特定的程序才能访问该文件。
只有root用户才能访问该文件。
文件为系统上每个用户账户保存一条记录,记录内容如下:
2、添加新用户:useradd命令
(1)查看Linux系统的系统默认值
[root@bogon yl2isoft]# /usr/sbin/useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@bogon yl2isoft]#
这些默认值的意思是:
/etc/skel目录下的文件
useradd命令允许管理员创建一份默认的HOME目录配置,然后把它作为创建新用户HOME目录的模板。这样,就能自动在每个新用户的HOME目录里放置默认的系统文件。
[root@bogon yl2isoft]# ls -al /etc/skel
总用量 24
drwxr-xr-x. 3 root root 74 8月 29 18:21 .
drwxr-xr-x. 137 root root 8192 10月 2 07:22 ..
-rw-r–r–. 1 root root 18 3月 6 2015 .bash_logout
-rw-r–r–. 1 root root 193 3月 6 2015 .bash_profile
-rw-r–r–. 1 root root 231 3月 6 2015 .bashrc
drwxr-xr-x. 4 root root 37 8月 29 18:19 .mozilla
(2)创建一个新用户账户
[root@bogon yl2isoft]# useradd -m test
[root@bogon yl2isoft]# ls -al /home/test
总用量 12
drwx——. 3 test test 74 10月 2 07:52 .
drwxr-xr-x. 5 root root 45 10月 2 07:52 ..
-rw-r–r–. 1 test test 18 3月 6 2015 .bash_logout
-rw-r–r–. 1 test test 193 3月 6 2015 .bash_profile
-rw-r–r–. 1 test test 231 3月 6 2015 .bashrc
drwxr-xr-x. 4 test test 37 8月 29 18:19 .mozilla
-m参数会创建HOME目录。
useradd命令创建了新的HOME目录,且将/etc/skel目录中的文件复制过来。
(3)修改系统默认的新用户值
useradd -D -s /bin/tsch
-s参数更改默认登录shell。
3、修改用户
(1)usermod
修改用户账户的字段,并可以指定主要组以及附加组的所属关系。
用来修改/etc/passwd文件中的大部分字段,只需要用与想修改的字段对应的命令行参数就可以了。
(2)passwd 和 chpasswd 改变用户密码
passwd test(passwd命令只能改变自己的密码)
chpasswd < users.txt
chpasswd命令能为系统中的大量用户修改密码,该命令从标准输入自动读取登录名和密码度对(由冒号分隔)列表,给密码加密,然后为用户设置。
(3)chsh、chfn和chage 专门用来修改特定的账户信息
chsh命令
快速修改默认的用户登录shell
chfn命令
提供了在/etc/passwd文件的备注字段中存储信息的标准方法。
chfn命令会将Unix的finger命令用到的信息存进备注字段,而不是简单地存入一些随即文件,或是将备注字段留空。
finger 用来简单地查看Linux系统上的用户信息。
出于安全性的考虑,很多Linux系统管理员会在系统上禁用finger命令。
chage命令
用来管理用户账户的有效期
chage命令的日期值使用以下中的任一种:
–YYYY-MM-DD格式的日期;
–代表从1970年1月1日起到该日期天数的数值。
4、删除用户
/usr/sbin/userdel -r test
默认情况下,userdel命令只会删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件,如果加上-r参数,就会删除用户的HOME目录以及mail目录,但是,系统上仍可能存在归已删除用户所有的其他文件。
5、组
唯一的GID,唯一的组名。
etc/group文件
包含系统上用到的每个组的信息。
系统账户用的组通常会分配低于500的GID值,而用户组的GID则会从500开始分配。
etc/group文件有4个字段:
6、创建新组
/usr/sbin/groupadd tg
/usr/sbin/usermod -G tg test(将test用户添加到tg组)
tail /etc/group (查看组tg信息)
-G参数将该组添加到用户的属组的列表里,而不会影响默认组。
如果使用-g参数,指定的组名会替换掉该账户的默认组。
7、修改组
groupmod 可以修改组的GID(-g参数)或组名(-n参数)
[root@bogon yl2isoft]# /usr/sbin/groupmod -n ntg tg
[root@bogon yl2isoft]# tail /etc/group
随意改变组名不会影响文件的安全性,因为所有文件的安全权限都是基于GID的。
8、文件权限
[root@bogon yl2isoft]# ls -l
总用量 0
drwxrwxr-x. 2 yl2isoft yl2isoft 85 9月 29 21:41 mytestdir
drwxrwxr-x. 2 yl2isoft yl2isoft 16 9月 20 18:09 mytestdir1
第一个字段的含义:
(1)第一个字符的含义:
之后的3组三字符的码,每一组三字符码表示三重访问权限:
这3组三字符码分别对应对象的3个安全级别:
9、设置用户创建文件和目录的默认权限。
umask 显示这个默认权限
umask 026 设置这个默认权限
touch nf touch命令用分配给我的用户账户的默认权限创建nf文件
[yl2isoft@bogon ~]$ umask
0002
第一位代表了一项特别的安全特性,叫做粘着位(stiky bit)。
后3位表示文件或者目录的umask的八进制值。
八进制模式的安全性设置
先获取这3组rwx权限的值,然后将其转换成3位二进制值来表示一个八进制值。
umask值只是个掩码。若权限为644,则掩码为022,那么umask设置权限时使用umask 022。
umask值通常会在/etc/profile启动文件中设置。
10、改变安全性设置
chmod 用来改变文件和目录的安全性设置。
chmod格式
chmod options mode file
mode参数后可跟个八进制模式或符号模式来进行安全性设置。
options取-R参数时可以让权限的改变递归地作用到文件和子目录。
可以在指定文件名时用通配符将权限的更改通过一个命令作用到多个文件上。
(1)八进制模式
[yl2isoft@bogon ~] chmod760nf[yl2isoft@bogon ] ls -l
-rwxrw—-. 1 yl2isoft yl2isoft 0 10月 2 16:44 nf
(2)符号模式格式
[ugoa…][+-=][rwxXstugo]
第一组字符定义权限作用的对象:
第二组字符表示你想在现有权限的基础上的操作:
第三组字符表示作用到设置上的权限:
chmod o+r nf(为其他用户添加读取权限)
chmod u-x nf(移出属主已有的执行权限)
11、改变所属关系
(1)chown命令 用来改变文件的属主
chown命令的格式
chown options owner[.group] file
chown test nf
chown test.test nf (支持同时改变属主和属组)
chown .test nf(只改变文件的默认属组)
options
只有root用户能够改变文件的属主。
任何属主都可以改变文件的属组,但前提是属主必须是源和目标属组的成员。
(2)chgrp命令 用来改变文件的默认属组
chgrp test nf
12、共享文件
Linux为每个文件和目录存储了3个额外的信息位:
使用SGID,能让在一个目录下创建的新文件都属于该目录的属组,也就是每个用户的组。
设置SGID
(1)使用八进制模式
它会加到标准3位八进制值之前(组成4位八进制值)
SUID/SGID/粘着位的八进制值
(2)符号模式
chmod g+s dir
创建共享文件
/usr/sbin/groupadd shared
mkdir sharedir
chgrp shared sharedir
umask 002
cd sharedir
touch sharefile