LINUX学习—用户命令和权限

用户、组、权限

权限:

r,w, x  
- 文件:  
   -- r:可读,可以用cat查看文件内容  
   -- w:可写  
   -- x:可执行  
- 目录:  
   --  r:可以对此目录执行ls以列出内部的 所有文件:  
    -- w:可以在此目录创建文件;  
    -- x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;  

用户:UID /etc/passwd
组:GID /etc/group

解析:名称解析
用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000

/etc/passwd
account:登录名
passwd:密码
UID: 用户ID
GID: 基本组ID
comment: 注释
HOME DIR:家目录
SHELL: 用户的默认shell

/etc/shadow
account:
encrpted passwd:加密密码
加密方法:
对称加密:加密和解密使用同一密码:
公钥加密:每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(public key)

useradd USERNAME
groupadd GROUPNAME

用户管理
命令:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage.  

useadd
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐 号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
useradd [options] USERNAME
-u:UID
-g:GID(基本组)
-G:GID,…..(附加组)
-c:“COMMENT”
-d:/path/to/somedirectory 指定某个目录 ,如果不指定直接在home目录下建立与用户名同名的目录
-s:SHELL路径

/etc/shells:指定了当前系统可用的安全shell

userdel
-r:同时删除用户的家目录,默认不会删除用户家目录;

id
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。

当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻。如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情。

    -g或--group:显示用户所属群组的ID    -G或--groups:显示用户所属附加群组的ID    -n或--name:显示用户,所属群组或附加群组的名称。
    -u或--user :显示用户ID

finger
finger命令用于查找并显示用户信息。包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

w
显示谁登陆了并显示其正在做什么,显示的信息比who更详细;

whoami
显示当前登陆用户是谁

who
显示谁登陆了

终端类型

last
显示/var/log/wtmp文件,显示用户的登陆及系统重启历史
-n <数字>:显示最近<数字>次的相关信息 last -n 3

lastb
显示/var/log/btmp,显示用户错误的登陆尝试;
-n<数字>:显示最近<数字>次的相关信息 lastb -n 3

lastlog
显示当前系统上每一个用户最近一次登陆的信息;
-u USERNAME:显示特定用户最近的登录信息

basename
取出路径的基名,
$0: 执行脚本时的脚本路径名称(防止脚本改名后脚本里的信息也要更改)

passwd:s SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者;
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示s;否则显示为S

SGID
运行某程序时,相应进程的属组是程序文件自身的属主,而不是启动者所属的基本组;
chmod g+s FILE
chmod g-s FILE
develop team, hadoop, hbase, hive

Sticky
表示在一个公共目录,每个都可以创建文件,删除自己的文件,但不能删除别人的文件
chmod o+t DIR
chmod o-t DIR

SUID SGID以及Sticky都是二进制,三个组成一个八进制,如000,001…111(这几个命令使用时要慎重)

文件系统访问列表: FACL:Filesystem Acess Control List
利用文件扩展属性保存额外的访问控制权限

setfacl -m:设定
[d:] u:UID:perm
[d:] g:GID:perm
-x:取消
u:UID
g:GID
getfacl
所设定的权限不能超过mask中的权限,如果超过,则全部丢弃,如果要实现超出的权限,需要用–mask对其中内容进行重新设定

密码管理

passwd
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

    --stdin:从标准输入(密码)读取密码(可用方便地从脚本中设定账号);  
    -l:锁住密码;  
    -u:解开已上锁的帐号;  
    -d:删除密码,仅有系统管理者才能使用。  
    ```
**chmod**
chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。  

权限范围的表示法如下:  

u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。

语法:chmod(选项)(参数)  
选项:  
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;

“`
参数
权限模式:指定文件的权限模式;
文件:要改变权限的文件;

mail
邮件 (存放在用户家目录的mbox中)还可用于发送邮件
-s:表示邮件主题,后接发送的用户;用管道或者输入重定向定义邮件内容发送

hostname:
显示当前主机名
$0:命令或脚本本身

生成随机数 RANDOM(内置变量):0-32768

随机数生成器:熵池
/dev/random:更安全 /dev/urandom

sleep number:睡眠时间,相当于间隔
终端类型:console:
控制台(不是终端,只是可以连接终端的显示界面) pty:物理终端(VGA显卡)
tty num:虚拟控制台 (虚拟终端)(VGA显卡)
ttyS num:串行终端
pts/num:伪终端(伪文件系统)

猜你喜欢

转载自blog.csdn.net/ihblxh/article/details/81980737