Ubuntu账户:
Ubuntu有三类账户:超级用户、普通用户以及系统用户。
每一个用户在ubuntu中都必须拥有一种账户,在Ubuntu中, /etc/passwd用来保存每个账户的信息。实际密码保存在 /etc/shadow中。
/etc/passwd文件每行基本格式:
username:password:uid:gid:gecos:homedir:shell
大多数都顾名思义,值得一提的是gecos是用于存放杂项信息的,一般不适用。
在Ubuntu中,普通用户可以使用sudo命令来完成系统管理员的操作。若想激活root用户,只需在命令行中输入sudo passwd root,并键入密码即可。
若想使用root终端,而不必每次键入sudo,则只需要输入sudo -i,便可看到“#”符号,完成工作后输入exit退出回到普通用户状态即可。
Ubuntu通过UID(user id)和GID(group id)区分不同的用户及用户组,root用户的UID和GID都为0。
一般情况下,每个Linux的发行版都会预留一定的UID和GID给系统虚拟用户占用,虚拟用户一般是系统安装时就有的,是为了完成系统任务所必须的用户,但虚拟用户是不能登录系统的,比如ftp、nobody、adm、rpm、bin、shutdown等;
在Fedora/centos/redhat 系统会把前499 个UID和GID 预留出来,我们添加新用户时的UID 从500开始的,GID也是从500开始,而Debian/Ubuntu会把前999UID和GID预留出来,也就是说centos系统通过adduser默认添加的用户的UID的值是从500开始;而Ubuntu系统通过adduser不指定UID来添加用户,默认UID 是从1000开始。Ubuntu为每个大于1000的UID建立一个私有GID。
文件访问权限:Ubuntu用户访问权限分为3类,一次为Owner,Group,Other。每一类又分为r(read), w(write), x(execute),对应一个三位二进制码。
例如:777表示Owner,Group,Other都具有r, w, x权限。
其中,改变权限的命令为:
chgrp: 改变用户组权限
chown: 改变所有者
chmod: 改变访问权限
用户组管理:用户组管理内容存储于/etc/group 文件中。
用于构成一个新用户的主目录所需的文件都位于/etc/skel中。这就为系统管理员提供了很多方便,因为任何需要大范围使用的文件,联系或目录都可以存放到/etc/skel中,创建新用户时系统会自动以合适权限分配给每一个新用户。
用户组管理命令:
1. groupadd
2. groupdel
3. groupmod:改变用户组名称或GID,不会更改其中用户。
4. gpasswd:创建用户组的口令。每个用户组都可以设置用户组口令和用户组管理员。-A参数可将一个用户指派为用户组管理员
5. useradd -G,使用-G参数可以在用户最初创建的时候将它添加到某用户组
6. grpck: 检查/etc/group文件的格式
7. usermod -G:在用户没有登录到系统时将它添加到某用户组
例如:
useradd bbb -p abc -s j/bin/zsh -u 507:其中-p指定密码 -s指定shell,-u指定UID
权限提升:命令 su - 将用户转变为root用户,并继承root用户环境变量等信息。(su的意义为substitute user)
命令su 将用户转变为root用户,不继承其他信息。
权限提升一般形式为sudo command。
使用了速冻命令后,速冻会核对/etc/sudoers文件,sudoers文件每行基本格式如下:
user host_computer=command
user字段可以是单独的用户或用户组(用%前缀表示用户组)
host——computer字段一般表示网络中所有主机ALL或本机localhost(也可以指定为单独一台机器)
command可以是ALL,指定的命令或者受限命令(即不能使用该命令,用!前缀表示)
|