权限:
r ,w,x
文件:
r:可读,可以使用类似cat 等命令查看文件内容
w: 可写,可以编辑或删除此文件
x:可执行,可以命令提示符下当作命令提交给内核运行。
目录:
r:可以对此目录之行ls 以列出内部对所有文件;
w:表示有更改目录的权限,即可以在此目录下新建文件或子目录、删除文件或子目录、重命名文件或子目录、挪动该目录内的文件或子目录等。
需要注意的,若某用户有针对该目录的w权限,则可以删除该目录下的文件,哪怕该用户对于此文件无任何权限(因为对文件的权限都是针对文件内容的)。
x:可以用cd 切换进此目录,也可以使用ls -l 查看 内部文件的详细信息(如果没r 权限 不能看)
用户组:did ,/etc/passwd
组:did /etc/group
影子口令:
用户: /etc/shadow
在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是"盐"值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
组: /etc/gshadow
用户类别:
管理员:0
普通 用户:1-65535
系统用户:1-499
一般用户:500-60000
用户组类别:
私有组:创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户名同名的组
基本组:用户的默认组
附加组,额外组,默认组以上的其它组
whatis passwd
man 5 passed
/etc/passwd
account:password:UID:GID:comment注释:home dir 家目录:SHELL 用户的默认shell
/etc/shadow
用户名:密码: 最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间
account 登录名
encrypted password:加密的密码
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥(secret key) 一个为公钥(public key)
1、雪崩效应
2、定长输出
md5
sha1
加盐
md5sum inittab
which useradd
ls -l $(which useradd)
ls -l `which useradd`
添加 用户可以指定时间过期的
useradd USERNAME
groupadd goupname
用户管理 useradd ,user del,usermod,passwd,cash,chfn,finger,id,change,
useradd [options] USERNAME
-u UID
-g GID (基本组)
-G GID,… (附加组)
-c “comment” 注释信息 也叫全名
-d /path/to/somedirectory
-s shell
-m -k
ls -a /etc/skel
-M //不创建家目录
-r //添加系统用户
useradd -c “TONY Blare” -d /home/blare user4
useradd -s /sbin/nologin user5 # 那么user5 是不能登录的
useradd -u 1000 user1
环境变量
PATH
HISTSIZE
SHELL
echo $PATH
id : 查看 用户的账户属性信息
-u
-g
-G
-n
id username //全部id 信息
id -u username
id -u -n username
userdel [option] username
-r : //同时删除用户的家目录
finger : 查看用户账户信息
修改用户账户属性:
usermod
-u UID
-g GID
-a -G GID : 不实用-a 选项,会覆盖以前的附加组
-c
-d -m : //加了-m 会移动家目录内容。 所以要加上
-s
-l
-L : 锁定帐号
-U 解锁帐号
cash 修改用户的默认 shell
cash username
chfn : 修改注释信息
chfn username
//密码管理
passwd [username]
—stdin
-l
-u
-d ://删除用户密码
echo ‘123456’ | passwd —stdin username //这样能快速改密码
passwd默认是要用终端作为标准输入,加上--stdin表示可以用任意文件做标准输入
于是这里用管道作为标准输入
passwd -d username
-d, --delete
删除用户密码(让它为空)。这是禁用一个用户密码的快速方法。它将设置给出
名称的账户。
tail /etc/shadow
pwck ://检查密码文件的完整性
组管理
创建组 groupadd
-g gid
-r //添加系统用户组
groupmod
-g GID
-n groupname
groupdel
gpasswd passed //为组设定密码
gpasswd mygroup //修改 mygroup 组的密码
newgrp mygroup //临时修改用户组 <——> exit
id
练习:
创建一个用户 mandriva 其 id 为 2002 基本组委distro(组id 为3003) 附加组为 linux
#groupadd -g 3003 distort
#groupadd linux
#useradd -u 2002 -g distort -G linux mandriva
2. 创建一个用户fedora ,其全名为Fedora Community,默认为shell为tcsh;
#useradd -c “Fedora Community” -s /bin/tcsh fedora
3.修改mandriva的ID号为4004,基本组为linux ,附加组为distort 和fedora;
#usermod -u 4004 -g linux -G distort,fedora mandriva
4、给fedora 加密码,并设定其密码最短使用期为2天,最长为50天;
#passwd -n 2 -x 50 fedora
5、将mandriva的shell 改为 /bin/bash;
user mod -s /bin/bash mandriva
6.添加系统用户 hbase,且不允许其登录系统
# useradd -r -s /sbin/nologin hbase
chage
chage:密码失效是通过此命令来管理的。
-d 最近一次的修改时间
-E:过期时间
-I 非活动时间
-m:最短使用期限
-M:最长使用期限
-W :警告时间
chage -l zhangy // 查看用户密码设定情况
chage -M 90 zhangy //密码有效期为90天
chage -E “2014-09-30” test //test 账户的有效期为2014-09-30
权限管理:
r
w
x
三类用户
u:属主
9:属组
o:其它用户
chown 改变文件属主(只有管理员才能使用这个命令)
chown username file
-R 修改目录及其内部文件的属主
-—reference=/path/to/somefile file ,… 把文件属主和属组改为 some file这个一样
chown —-reference=/tmp/abc /tmp/test
chown -R username:groupname file…
chown -R username.groupname file..
改属组
#chgrp groupname file
chgrp -R mygroup filename
chmod :修改文件的权限
用户类别 u,g,o,a
chmod 用户类别=mode file,…
chmod g=7 filename
chmod g=rw filename
chmod g=r,o=r filename
chmod u-x filename //属主减去 执行权限
chmod 用户类别 +|- MODE file,…
看目录 ls -ld /tmp/hi
看目录里面的内容 ls -l /tmp/hi
Linux下的/etc/skel目录往往不被人注意,其实此目录在新建用户时还是很有用的,灵活运用此目录可以节约一定的配置时间。
skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。
练习
1、新建一个没有家目录的用户 openstack
#useradd -M openstack
2、复制/etc/ske1 为 /home/openstack
cp -r /etc/ske1 /home/openstack
3、改变/home/openstack及其内部文件的属主属组均为openstack;
#chown -R openstack:openstack /home/openstack
4、/home/openstack 及其内部的文件,属组合其它用户没有任何访问权限
chmod -R go= /home/openstack
文件默认是没写权限的。 如果算得结果中又执行权限,则将其权限加1
umask :遮罩码
#umask
#umask 022
644 这样 默认的文件权限
755 目录权限
umask 023
文件 666-023=641 x
目录 777 -023 =754
站在用户登录的角度来说 shell 的类型
登录式shell
正常通常某终端登录
su - username
su -l username
非登录式 shell:
su username
图形中终端下 打开命令窗口
自动执行的shell 脚本
bash 的配置文件
全局配置
/etc/profile ,/etc/profile.d/*.sh , /etc/bashrc
个人配置
~/.bash_profile, ~/.bashrc
sudo vim ~/.bash_profile 或者
vim ~/.bashrc
添加一行
alias cls=“clear”
然后打开新的shell 窗口 就生效了
profile类的文件:
设定环境变量
运行命令或者脚本
bashrc类的文件:
设定本地变量
定义命令别名
登录式shell如何读取配置文件?
/etc/profile —> /etc/profile.d/*.sh —> ~/.bash_profile —> ~/.bashrc —>/etc/bashrc
非登录式shell 如何设定配置文件
~/.bashrc —> /etc/bashrc —> /etc/profile.d/*.sh
bash 脚本解释器
r ,w,x
文件:
r:可读,可以使用类似cat 等命令查看文件内容
w: 可写,可以编辑或删除此文件
x:可执行,可以命令提示符下当作命令提交给内核运行。
目录:
r:可以对此目录之行ls 以列出内部对所有文件;
w:表示有更改目录的权限,即可以在此目录下新建文件或子目录、删除文件或子目录、重命名文件或子目录、挪动该目录内的文件或子目录等。
需要注意的,若某用户有针对该目录的w权限,则可以删除该目录下的文件,哪怕该用户对于此文件无任何权限(因为对文件的权限都是针对文件内容的)。
x:可以用cd 切换进此目录,也可以使用ls -l 查看 内部文件的详细信息(如果没r 权限 不能看)
用户组:did ,/etc/passwd
组:did /etc/group
影子口令:
用户: /etc/shadow
在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是"盐"值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
组: /etc/gshadow
用户类别:
管理员:0
普通 用户:1-65535
系统用户:1-499
一般用户:500-60000
用户组类别:
私有组:创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户名同名的组
基本组:用户的默认组
附加组,额外组,默认组以上的其它组
whatis passwd
man 5 passed
/etc/passwd
account:password:UID:GID:comment注释:home dir 家目录:SHELL 用户的默认shell
/etc/shadow
用户名:密码: 最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间
account 登录名
encrypted password:加密的密码
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥(secret key) 一个为公钥(public key)
1、雪崩效应
2、定长输出
md5
sha1
加盐
md5sum inittab
which useradd
ls -l $(which useradd)
ls -l `which useradd`
添加 用户可以指定时间过期的
useradd USERNAME
groupadd goupname
用户管理 useradd ,user del,usermod,passwd,cash,chfn,finger,id,change,
useradd [options] USERNAME
-u UID
-g GID (基本组)
-G GID,… (附加组)
-c “comment” 注释信息 也叫全名
-d /path/to/somedirectory
-s shell
-m -k
ls -a /etc/skel
-M //不创建家目录
-r //添加系统用户
useradd -c “TONY Blare” -d /home/blare user4
useradd -s /sbin/nologin user5 # 那么user5 是不能登录的
useradd -u 1000 user1
环境变量
PATH
HISTSIZE
SHELL
echo $PATH
id : 查看 用户的账户属性信息
-u
-g
-G
-n
id username //全部id 信息
id -u username
id -u -n username
userdel [option] username
-r : //同时删除用户的家目录
finger : 查看用户账户信息
修改用户账户属性:
usermod
-u UID
-g GID
-a -G GID : 不实用-a 选项,会覆盖以前的附加组
-c
-d -m : //加了-m 会移动家目录内容。 所以要加上
-s
-l
-L : 锁定帐号
-U 解锁帐号
cash 修改用户的默认 shell
cash username
chfn : 修改注释信息
chfn username
//密码管理
passwd [username]
—stdin
-l
-u
-d ://删除用户密码
echo ‘123456’ | passwd —stdin username //这样能快速改密码
passwd默认是要用终端作为标准输入,加上--stdin表示可以用任意文件做标准输入
于是这里用管道作为标准输入
passwd -d username
-d, --delete
删除用户密码(让它为空)。这是禁用一个用户密码的快速方法。它将设置给出
名称的账户。
tail /etc/shadow
pwck ://检查密码文件的完整性
组管理
创建组 groupadd
-g gid
-r //添加系统用户组
groupmod
-g GID
-n groupname
groupdel
gpasswd passed //为组设定密码
gpasswd mygroup //修改 mygroup 组的密码
newgrp mygroup //临时修改用户组 <——> exit
id
练习:
创建一个用户 mandriva 其 id 为 2002 基本组委distro(组id 为3003) 附加组为 linux
#groupadd -g 3003 distort
#groupadd linux
#useradd -u 2002 -g distort -G linux mandriva
2. 创建一个用户fedora ,其全名为Fedora Community,默认为shell为tcsh;
#useradd -c “Fedora Community” -s /bin/tcsh fedora
3.修改mandriva的ID号为4004,基本组为linux ,附加组为distort 和fedora;
#usermod -u 4004 -g linux -G distort,fedora mandriva
4、给fedora 加密码,并设定其密码最短使用期为2天,最长为50天;
#passwd -n 2 -x 50 fedora
5、将mandriva的shell 改为 /bin/bash;
user mod -s /bin/bash mandriva
6.添加系统用户 hbase,且不允许其登录系统
# useradd -r -s /sbin/nologin hbase
chage
chage:密码失效是通过此命令来管理的。
-d 最近一次的修改时间
-E:过期时间
-I 非活动时间
-m:最短使用期限
-M:最长使用期限
-W :警告时间
chage -l zhangy // 查看用户密码设定情况
chage -M 90 zhangy //密码有效期为90天
chage -E “2014-09-30” test //test 账户的有效期为2014-09-30
权限管理:
r
w
x
三类用户
u:属主
9:属组
o:其它用户
chown 改变文件属主(只有管理员才能使用这个命令)
chown username file
-R 修改目录及其内部文件的属主
-—reference=/path/to/somefile file ,… 把文件属主和属组改为 some file这个一样
chown —-reference=/tmp/abc /tmp/test
chown -R username:groupname file…
chown -R username.groupname file..
改属组
#chgrp groupname file
chgrp -R mygroup filename
chmod :修改文件的权限
用户类别 u,g,o,a
chmod 用户类别=mode file,…
chmod g=7 filename
chmod g=rw filename
chmod g=r,o=r filename
chmod u-x filename //属主减去 执行权限
chmod 用户类别 +|- MODE file,…
看目录 ls -ld /tmp/hi
看目录里面的内容 ls -l /tmp/hi
Linux下的/etc/skel目录往往不被人注意,其实此目录在新建用户时还是很有用的,灵活运用此目录可以节约一定的配置时间。
skel是skeleton的缩写,意为骨骼、框架。故此目录的作用是在建立新用户时,用于初始化用户根目录。系统会将此目录下的所有文件、目录都复制到新建用户的根目录,并且将用户属主与用户组调整为与此根目录相同。所以可将用户配置文件预置到/etc/skel目录下,比如说.bashrc、.profile与.vimrc等。
练习
1、新建一个没有家目录的用户 openstack
#useradd -M openstack
2、复制/etc/ske1 为 /home/openstack
cp -r /etc/ske1 /home/openstack
3、改变/home/openstack及其内部文件的属主属组均为openstack;
#chown -R openstack:openstack /home/openstack
4、/home/openstack 及其内部的文件,属组合其它用户没有任何访问权限
chmod -R go= /home/openstack
文件默认是没写权限的。 如果算得结果中又执行权限,则将其权限加1
umask :遮罩码
#umask
#umask 022
644 这样 默认的文件权限
755 目录权限
umask 023
文件 666-023=641 x
目录 777 -023 =754
站在用户登录的角度来说 shell 的类型
登录式shell
正常通常某终端登录
su - username
su -l username
非登录式 shell:
su username
图形中终端下 打开命令窗口
自动执行的shell 脚本
bash 的配置文件
全局配置
/etc/profile ,/etc/profile.d/*.sh , /etc/bashrc
个人配置
~/.bash_profile, ~/.bashrc
sudo vim ~/.bash_profile 或者
vim ~/.bashrc
添加一行
alias cls=“clear”
然后打开新的shell 窗口 就生效了
profile类的文件:
设定环境变量
运行命令或者脚本
bashrc类的文件:
设定本地变量
定义命令别名
登录式shell如何读取配置文件?
/etc/profile —> /etc/profile.d/*.sh —> ~/.bash_profile —> ~/.bashrc —>/etc/bashrc
非登录式shell 如何设定配置文件
~/.bashrc —> /etc/bashrc —> /etc/profile.d/*.sh
bash 脚本解释器