Linux管理

1.        Linux禁止用户登录的一种方法

usermod -Ldduyoung ##Lock 帐号dduyoung

usermod -Udduyoung ##Unlock 帐号dduyoung

2.        命令:ls –l输出详解:

       比如一个输出:

              -rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash

              文件权限 链接数 文件所有者 所属群组 文件大小 文件修改时间 文件名

 

       第一个字段: -rwxr-xr-x 包含该特殊文件的权限的符号表示。该字段中的首字符(-)指定该文件的类型,本例中它是一个常规文件。其它可能的首字符还有:

“d”目录

“l”符号链接

“c”字符专门设备文件

“b”块专门设备文件

“p”先进先出

“s”套接字三个三元组

第一字段的其余部分由三个三元组字符组成。第一个三元字符组代表文件所有者的权限,第二个代表文件的组的权限,第三个代表所有其他用户的权限:

所有者的权限:    "rwx"

组的权限:           "r-x"

其他用户的权限:       "r-x"

上面,r 表示允许读(查看文件中的数据),w 表示允许写(修改文件以及删除),x 表示允许“执行”(运行程序)。

3.        一些指令:

查看当前使用的用户:whoami

查看当前用户所属的组:groups

查看其它用户所属的组:groups user

在一个目录下创建一个账号: useradd –d path  name

新建一个账号加入一个组里面:useradd  –g groupsname, 多个组:useradd –ggroups1,groups2 …  name

创建一个组:groupadd [-g group] name

把一个用户添加到另外一个组里面:gpasswd -a user group

4.        改变用户和组所有权

用chown 或 chgrp,可以改变文件或其它文件系统对象的所有者或组,除非是超级用户,否则您不可以使用 chown,然而任何人都可以使用 chgrp 来将文件的组所有权改为他们所属的组。用法:

       chown [OPTION]... [OWNER][:[GROUP]] FILE

如:

       # chown root /etc/passwd

       # chgrp wheel /etc/passwd

 

       还可以用 chown 命令的另一种形式同时设置所有者和组:

       # chown root.wheel /etc/passwd

              改变一个组以及所有者:chown user:groups path

5.        usermod:改变用户的资料权限:

usermod [-LU][-c<备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]

6.        chmod:

       chown 和 chgrp 可以用来改变文件系统对象的所有者和组, 而另一个程序 — 叫做 chmod — 用来改变我们可以在 ls -l 清单中看到的 rwx 权限。

       比如:chmod +x scriptfile.sh

       中的+是增加一个权限,而-是减少一个权限, 但是是对于所有组。

       chmod [who] +x filename,增加who(u:所有者user; g:组groups;o:其他用户other;a:所以用户all),加权限(-为减权限)。

       实例:

$ chmod u+xfile                      给file的属主增加执行权限

$ chmod 751file                      给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

$ chmodu=rwx,g=rx,o=x file      上例的另一种形式

$ chmod =rfile                     为所有用户分配读权限

$ chmod 444file                   同上例

$ chmoda-wx,a+r   file          同上例

$ chmod -Ru+r directory           递归地给directory目录下所有文件和子目录的属主分配读的权限

       $ chmod 4755                            设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

 

 

 

7.        数字与权限

r :4  w:2  x:1

 

8.        SUID和SGID的详细解析

由于SUID和SGID是在执行程序(程序的可执行位被设置)时起作用,而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID位是没有多大意义的。

首先讲普通文件的SUID和SGID的作用。例子:

如果普通文件myfile是属于foo用户的,是可执行的,现在没设SUID位,ls命令显示如下:

-rwxr-xr-x 1foo staff 7734 Apr 05 17:07 myfile

任何用户都可以执行这个程序。UNIX的内核是根据什么来确定一个进程对资源的访问权限的呢?是这个进程的运行用户的(有效)ID,包括user id和group id。用户可以用id命令来查到自己的或其他用户的user id和group id。

除了一般的user id 和group id外,还有两个称之为effective 的id,就是有效id,上面的四个id表示为:uid,gid,euid,egid。内核主要是根据euid和egid来确定进程对资源的访问权限。

一个进程如果没有SUID或SGID位,则euid=uid egid=gid,分别是运行这个程序的用户的uid和gid。例如kevin用户的uid和gid分别为204和202,foo用户的uid和gid为200,201,kevin运行myfile程序形成的进程的euid=uid=204,egid=gid=202,内核根据这些值来判断进程对资源访问的限制,其实就是kevin用户对资源访问的权限,和foo没关系。

如果一个程序设置了SUID,则euid和egid变成被运行的程序的所有者的uid和gid,例如kevin用户运行myfile,euid=200,egid=201,uid=204,gid=202,则这个进程具有它的属主foo的资源访问权限。SUID的作用就是这样:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。passwd就是一个很鲜明的例子。SUID的优先级比SGID高,当一个可执行程序设置了SUID,则SGID会自动变成相应的egid。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值