linux study(6)

2019-09-01 10:51

参 数 -c -f -h -v -R --help --version 含 义 若文件拥有者确实已经更改,才显示其更改动作 若该档案拥有者无法被更改也不显示错误信息 只对于连结(link)进行变更,而非该link真正指向的文件 显示拥有者变更的信息 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更) 显示辅助说明 显示版本 用户管理:在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系

统资源拥有不同的使用权限。在Red Hat Linux中系统账号可分为两种类型:

(1)用户账号:通常一个操作者拥有一个用户账号,这个操作者可能是一个具体的用户,也可能是应用程序的执行者,比如apache、ftp账号。每个用户都包含一个惟一的识别码,即用户ID(UID,User Identity),以及组识别码,即组ID(GID,Group Identity)。在Linux系统中可以有两种用户账号:管理员root用户和普通用户。

(2)组账号:一组用户账号的集合。通过使用组账号,可以设置一组用户对文件具有相同的权限。管理员以组为单位分配对资源的访问权限,例如读取、写入或执行的权限,从而可以节省日常的维护时间。 用户名称 root bin daemon adm lp sync shutdown halt mail news uucp 用户ID 0 1 2 3 4 5 6 7 8 9 10 组ID 0 1 2 4 7 0 0 0 12 13 14 主目录 /root /bin /sbin /var/adm /var/spool/lpd /sbin /sbin /sbin /var/spool/mail /etc/news /var/spool/uucp 使用的shell /bin/bash /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/sync /sbin/shutdown /sbin/halt /sbin/nologin /sbin/nologin operator 11 0 /root /sbin/nologin su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户的主目录。输入后,系统将提示输入相应用户的口令,只有输入的口令正确才能完成身份的转换。如果su命令后没有携带用户名,系统默认从当用户切换到超级用户,并提示用户输入超级用户口令。

1.用户账号信息——/etc/passwd

通常在Linux中的所有账户信息都记录在/etc/passwd中,该文件的存取属性为644,也就是对所有用户可读,但只用root组中的用户才能修改。

在/etc/passwd文件中,每一行都代表一个用户的账号信息,而每个用户的信息都是以“:”来分隔不同的字段记录,其中包含7个字段,见下表。 字段1 字段2 字段3 字段4 字段5 字段6 字段7 用户名 口令 UID GID 账号信息 主目录 登录shell root x 0 0 root /root /bin/bash ? 用户名:是用户登录系统时的登录名,它由root或是具有和root相同权限的管理员指定,每个用户在登陆系统

时都必须使用指定的登录名。

? 口令:即用户的登录系统时使用的密码。通常该字段是一个“x”,表示是一个经过加密处理的口令,加密后的密

码给放置在/etc/shadow文件中,且该文件只能被root组的账号访问。如果该字段显示“*”则表示对应账号停用。 ? UID:每个账号唯一的识别号,最大可谓65535。UID在500之前的账号是提供系统服务使用的,管理员新增的

第一个普通用的UID为500,然后依次是501、502…以此类推。

? 登录shell:用户在登录系统时使用的shell,Red Hat Linux 9默认使用的是/bin/bash,用户可以使用chsh命令

更改自己的登录shell。如果用户只是系统通过该用户账号获取系统的某种服务,而不希望该用户能够登录Linux工作站,可以将此登录shell修改为/bin/false、/bin/true、/dev/null和/sbin/nologin等其中之一。 2. 用户口令文件——/etc/shadow

在Linux系统中通常使用影子口令机制(Shadow Password),用户的身份信息被存放在/etc/passwd文件中,用户的口令信息加密后保存在另一个文件/etc/shadow中,并只设置root账号的可读属性,因而大大提高了系统的安全性能。

1 用户账号名称,如root 用户加密后的口令。如果该字段的值为“!!”和“*”,则表示该用户当前没有密码,也不能登录系统,这些用户通常是标准账号。其他的用户密码都是经过MD5加密后的内容。另外,用户任何时候都不能通过直2 接修改该字段的方法,来更变用户口令 3 由1970年1月1号算起,到最后一次修改密码的时间间隔(以日为单位) 4 密码自上次修改后,要间隔多少天数后才能再次被修改,如果为0则无限制 高系统的安全性。而且其中的密码是采用MD5算法加密的,root账户也无法直接获得口令的内容,但是root账户可以变更用户密码或停用每个账户。 (2)可记录密码变更的时间。

(3)可以设置密码使用的时间,以避免用户的密码变更过于频繁。

(4)可以使用/etc/login.defs文件来设置密码的安全性原则,例如密码的最小长度或密码最短的使用时间等。 用户管理的工作包括建立一个合法的账号、设置和管理用户的口令、修改账号的属性以及在必要时删除账号。虽然在绝

大部分的类UNIX系统中,都支持直接修改/etc/passwd文件来管理账号的信息,但是,如果存在/etc/shadow文件,这种方式便会失效。 setuid和setgid

用户存储用户信息的/etc/passwd文件只有超级用户才能进行修改,而用于存储用户口令的文件/etc/shadow甚至只有超级用户才可以访问。只有在普通用户执行passwd命令的时候,能够读取和修改/etc/passwd和/etc/shadow文件,才能使普通用户修改自己的口令。为了解决在用户修改口令时,文件系统存取权限矛盾,Linux给/usr/sbin/passwd命令设置了setuid属性。

setuid是一种文件的拥有者具备的特殊属性,它使得被设置了setuid位的程序无论被哪个用户启动,都会自动具有文件拥有者的权限,在Linux中典型拥有setuid属性的文件就是/usr/bin/passwd程序,见下图。通常setuid属性只会设置在可执行的文件上,因为尽管理论上可以给不可执行的文件加上setuid属性,但是这样做通常是没有意义的。

文件属性中的s占据的位即为setuid位,“s”代表对应的文件被设置了setuid属性,因为passwd程序的拥有者是超级用户root,因此passwd程序执行的时就自动获取了超级用户的权限,所以无论是哪个用户执行了passwd程序都可以修改系统的口令文件。

要给一个文件加上setuid属性,可以使用如下的命令: chmod u+s <文件名> chmod 4xxx <文件名>

其中,u+s表示给文件的拥有者添加setuid属性,其属性字为4000,xxx代表文件原来的存取属性。

setgid与setuid类似,只是setgid是文件归属的组具备的特殊属性,具有setgid的可执行文件运行时,自动获取文件对应的组权限,因为组权限不像用户权限那样精确,所以使用setgid的程序很少。要给某个文件添加setgid属性,可以命令:

chmod g+s <文件名> 或 chmod 2xxx <文件名>

其中,g+s表示给文件的归属组添加setgid属性,其属性字为2000,xxx代表文件原来的存取属性。

setuid和setgid属性都是对正常的Linux安全机制开的后门,原则上,只有在明确的非用不可的功能中才使用它们。特别是,具有超级用户权限的setuid属性的应用程序经常是系统遭受攻击的目标。因此要千万慎用。 1.添加用户账号

中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。 useradd命令的使用格式如下: useradd [参数] 新建用户账号 参 数 含 义 或

指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目-d 录下建立与用户名同名目录为主目录 设置用户登录系统时使用的shell,默认为/bin/bash -s 指定用户所属的组,该组的GID必须是在/etc/group文件中登记过的,即该-g 组已存在。如果不使用该参数,系统自动建立用户同名的组,并将该用户纳入该组 用于指定账号信息字段的内容 -c 指定用户的UID -u 指定账号的有效期限,格式为YYYY-MM-DD -e [root@myhost root]# useradd –d /home/tom –g 500 -c “general user” –s /bin/bash –e 2008-12-1 jack 2.变更用户口令

超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。该命令的常用格式为: passwd [参数] 用户名 常用的参数及含义如表所示。 参 数 -d -l -u 含 义 删除用户口令,此后该用户登录系统是无需口令 临时锁定用户账号,该账号此后无法登录系统,直到解锁 解除账号的锁定 在用户设置口令的时候,通常并不显示内容,并且需要用户输入两次口令以便验证两次输入是否一致。使用--stdin 该参数表示在用户设置口令的时候,显示口令内容,同时只需要用户输入口令一次。 3.查看用户信息 1) whoami命令

该命令用户查看当前系统当前账号的用户名。由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。 该命令的使用格式如下: whoami 2) who命令

该命令用于查看当前所有登录系统的用户信息,使用格式如下: who [选项]

常用的参数及含义如下表所示。

只显示运行who命令的用户名、登录终端和登录时间 -m或am I -q或--count 只显示用户的登录账号和登录用户的数量 在登录时间后显示该用户最后一次操作到当前的时间间隔 -u -u或--heading 显示列标题 其中,IDLE字段显示为“.”表示该用户前一秒仍然在操作系统。who命令输出的常用标题及含义如下表所示。 NAME LINE 用户登录时的终端 TIME IDLE PID COMMENT 用户名 登录时间 用户空闲时间 登录进程PID 用户网络地址 3) w命令

该命令也可以查看登录当前系统的用户信息。与who命令相比,w命令的功能更强大,它不但可以显示当前有哪些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据。 w命令的格式如下: w [选项] [用户名]

如果w命令携带用户名,则只显示指定用户的信息,否则显示当前所有登录用户的信息。其常用参数和含义如表所示。 参 数 -h -l -s 含 义 不显示各列的标题 显示详细信息列表,此为预设值 使用短列表,不显示用户登录时间、JCPU和PCPU时间 忽略执行程序的名称,以及该程序的PCPU时间 -u FROM USER TTY LOGIN@ IDLE JCPU PCPU WHAT 用户登用户名 录时的终端 用户网络地址 登录时间 用户空闲时间 用户终端所有进程占用的时间 当前进程占用的时间 用户当前执行的命令 finger命令

该命令用于查找指定用户,并显示该用户的相关信息。该命令常用格式如下: finger [参数] [用户名] finger –l root 修改用户信息 1) chfn命令

该命令用于修改系统中存放的用户信息。这些用户信息包括:用户全名、工作单位、工作电话和家庭电话等 chfn [用户名] 2) usermod命令

除了在添加用户时指定用户的主目录、登录时的shell和所属的组外,还可以在用户创建后,使用usermod命令来修改用户的这些信息。usermod命令的使用格式如下:usermod [选项] [用户名]


linux study(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:仓库面积计算原则及方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: