、Linuxの権限設定(デフォルトのアクセス許可、隠された特権と特別な権利)

ボーエン概要:

  • 、umaskコマンド(デフォルトのアクセス許可)
  • 二、chattrはやたlsattrコマンド(隠された権限)
  • 第三に、SUID、SGIDとのSBITの役割(特殊なアクセス許可)

、umaskコマンド:

chmodのumaskは、元のファイルのパーミッションが666元のディレクトリの許可が777であり、操作に対応する元の権限のumask値、前記抗マスクの形で、許可マスクは、4つの合計を表すものに関連しています結果は、ファイルまたはディレクトリの新しいデフォルトの権限です。次のように:

[root@localhost ~]# umask     #执行umask命令
0022

これで、新しいファイルは、デフォルトのファイルを作成し、そのような0022以上のクエリアウトとして、それぞれ特別な許可、所有者の権限、グループ権限、および他の人々の権利のために、4桁が「0022」です、それを表示することができます新しいディレクトリは、ディレクトリのデフォルトのパーミッションが755であれば、以下のよう権限は、644です。

[root@localhost tmp]# touch test1.txt    #新建一个文件
[root@localhost tmp]# ll test1.txt     #可以看到默认的权限为644
-rw-r--r-- 1 root root 0 Aug 12 17:51 test1.txt
[root@localhost tmp]# mkdir test2  #新建一个目录
[root@localhost tmp]# ls -ld test2     #可以看到默认的权限为755
drwxr-xr-x 2 root root 6 Aug 12 17:51 test2

権威デジタルのumaskを変更します。

[root@localhost ~]# umask 0002        #直接在umask命令后输入权限数字即可
[root@localhost ~]# umask    #验证
0002

システムの再起動がデフォルトのumask値に戻ります後のumaskコマンドumask値は、一時的に変更することができます。あなたは、恒久的にumask値を変更したい/ etc / profileファイルを変更するか、/ etc / bashrcにファイルを変更し、例えば、027にデフォルトのumask値を設定する必要がある場合は、ファイル内の行を追加することができます「027のumask」、およびソースの/ etcの使用/プロフィール、変更が有効になります。

の/ etc /プロファイルおよび/ etc / bashrcには、ユーザのログインシステムをセットアップするときに自動的に特定のアクションを実行するために使用することができ、それらの間の差はあるに/ etc /プロファイルは、ユーザーがログオン、および/ etc / bashrcにでのみ最初に実行されますたびに、ユーザーのログオン負荷のBashシェルを実行されます。

したがって、それは/ etc / profileファイル、効果にのみ、新しく作成したユーザーを変更する場合、それは、/ etc / bashrcにファイルを変更する場合、すべてのユーザーに対して有効になります。

以上の2つの構成ファイル、高い優先度である.bashrc設定ファイルの特定のユーザーのために。

二、chattrはとlsattrコマンド

時には我々は、彼らがchattrコマンドを使用してファイルをロックしてきたので、それは、root権限がファイルを変更することはできませんで、このような状況が発生しました。大きな役割を命じるchattrは、一部の機能は、Linuxカーネルのバージョンでサポートされているが、今のシステムのほとんどはLinuxカーネル2.6以上実行されて生成されます。プロパティを変更するchattrはコマンドによりシステムのセキュリティを向上させるが、それはすべてのディレクトリには適していませんことができます。chattrコマンドをは/は、/ dev、/ tmpに、/ varディレクトリを保護することはできません。lsattrコマンドは、ファイルがchattrはattributesコマンドを表示します。

この2つのコマンドは、chmodコマンドと比較して、ディレクトリの属性、ファイルを表示および変更するために使用されている、ちょうど実行権限を、読み取りと書き込みのファイルをchmodで変えられますが、基本的な特性制御(つまり、特別な許可です)chattrはによって変更されますA。

1、chattrは、コマンドの使用法:

[root@localhost ~]# chattr [+-=] [ASacdistu]   文件或目录名

様々なオプションの意味は次のとおりです。

  • +:、元非表示に基づいてパラメータを設定する隠しパラメータの一つ以上を追加。
  • - :特定非表示パラメータの除去に基づいて、元の隠されたパラメータ設定インチ
  • =:指定されたパラメータのための隠されたアップデート。
  • :このプロパティは、設定されているときは、現在では(I / Oの低速のマシン過度なディスクアクセスを避けるために、ファイルやディレクトリ、それ自体がatimeを変更されませんファイルまたはディレクトリを再アクセスする必要がある場合推奨されるファイルシステム)このアイテムに対処するためのオプションをマウントします。
  • S:あなたは任意のファイルを変更すると、変更は「同期」ディスクに書き込まれることを一般的な非同期ディスクに書き込まれたファイル、プラスSこの属性であれば、。
  • A:追加。つまり、パラメータを設定した後、唯一の安全保障のために、マルチサーバーのログファイルを、ファイル内のデータに追加しますが、削除することはできません、唯一のルートは、このプロパティを設定することができます。
  • C:それcompresse、保存する前に圧縮されたファイルを設定するかどうか。自動読み取り減圧操作を通過する必要があります。
  • D:いいえダンプこと、対象のファイルはダンププログラムをバックアップすることはできません設定します。
  • I:ファイルまたはディレクトリ上の焦点である、ファイルを設定し、削除、名前変更、リンク関係を設定して、コンテンツを作成したり追加することはできませんすることはできません。私は、ファイルシステムのセキュリティ設定への大きな助けのパラメータ。
  • データ=順序付け又はデータ=ライトバックは、ファイルシステムをマウントし、ファイルが最初の書き込み時(ジャーナルに)記録されている:J:パラメータによってマウントが場合ように、すなわちジャーナルは、このパラメータが設定されています。パラメータはデータ=ジャーナルをファイルシステムに設定されている場合は、パラメータが自動的に無効になります。
  • S:このファイルは削除された場合と、ファイルセットのプロパティ、それは完全にハード・ディスク・スペースを削除します。その場合は、誤って削除、およびバック保存することも全くできません。
  • U:sおよびコントラスト、セットuは、実際にはディスク上に格納されたコンテンツデータは、データ復旧技術は、データを回復するために使用することができるとき。

オプションパラメータは、Aと私に使用されています。追加することができます必須唯一のオプションは、ロギングシステムのために複数のセキュリティ設定を削除することはできません。そして、私はより厳しいセキュリティ設定、のみスーパーユーザー(root)であるかCAP_LINUX_IMMUTABLE処理能力(識別)プロセスはオプションに適用することができています。

注意:XFSファイルシステムにのみAadiSパラメータをサポートしています。

2、たlsattrコマンドの構文:

[root@localhost ~]# lsattr [adR]  文件或目录

:様々なオプションには、以下の意味を有する
-aを:プロパティ隠しファイルも表示されます。
-d:ディレクトリを見れば、ディレクトリ自体ではなく、ディレクトリのプロパティでリストファイル名のみを;
-Rは:また、データのサブディレクトリと一緒にアウトネクタイ;

使用例:

1は、重要なシステムファイルを防ぐためにchattrはコマンドで変更されます。

[root@localhost ~]# chattr +i /etc/resolv.conf

そして、MVファイル操作コマンドには/etc/resolv.conf等は、運用で得られた結果は許可されていません。W10を求められたら、Vimはファイルを編集することができます。警告:読み取り専用ファイルのエラーを変更します。chattrは-iの/etc/resolv.conf:このファイルを変更するにはあなたは私の属性を削除する必要があります

[root@localhost ~]# lsattr /etc/resolv.conf   #查看一下属性,会得到以下结果
----i-------- /etc/resolv.conf

2、ファイルのみを入力して、追加のデータが、ログファイルのさまざまな削除することができないことができるように:

[root@localhost ~]# chattr +a /var/log/messages

三、SUID、SGIDとSBIT役割

1、SUID役割

実際には、sudoを持つSUIDとSGIDの役割が似ています。ユーザAがファイルBにSUIDビットを設定されている場合、ユーザBは、元々、実行可能ファイルに属して実行したい場合は、Aは、実行の実行時にユーザのB同一です。

SUID設定UIDが短い、翻訳が実行ビットファイルの所有者の権限に表示されるユーザーIDを設定することで、ファイルのパーミッションはその実行時にこれを持っているだろう、呼び出し側は、一時的にファイルの所有者の許可を得ます。たとえば、次のコマンドを使用して:

[root@localhost ~]# ls -ld /usr/bin/passwd     #查询passwd命令
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

私たちは、passwdのプログラムはSUIDの権限あるように、実行ビットがファイルの所有者のxの代わりにsがあり、見ることができます。我々は、ユーザーが自分のパスワードも右、右を言及する必要が変更すると言うことはできませんので、我々は、passwdコマンドを使用する場合、これはSUID許可passwdコマンドに、システムのデフォルトであるユーザーのパスワードを変更しますか?

我々は、すべてのパスワードは/ etcに影/に格納されて知っているが、ファイルは、rootだけは書くことができますので、平均的なユーザーは、我々はそれのために新しいパスワードを書き込みます方法ですか?このSUIDと関連する、と私たちは所有者の許可を取得するには、passwdコマンドpasswdのを使うルートで、その後、あなたはshadowファイルに書き込むことができます。

SUID機能:
のみバイナリファイルの有効な1.SUID、
執行力を持っている、つまり、「X」の許可(などは/ usr / binに/ passwdのような)ファイルへ2.呼び出し側
の実装プロセスでは3、呼び出し側は一時的になりますファイル入手するには、所有者の権利
4.この権限は、プログラム実行中のみ有効です。

以下のチャートは、鮮やかSUIDの効果を示します。

、Linuxの権限設定(デフォルトのアクセス許可、隠された特権と特別な権利)

2、SGIDの役割

その頭文字ファイルに表示されますSGIDセットのGIDは、特権の上にビットを実行し、その共通のバイナリファイルやディレクトリが有効であるグループに属しています。それは通常のファイルに作用して、SUID同様の場合は、ファイルの実装では、ユーザーが属するファイルのパーミッションを取得します。SGIDがディレクトリに作用すると、意味は非常に重要です。ユーザーがディレクトリのパーミッションを書き込み、実行がある場合は、ディレクトリがSGID特別な権限を持っている場合、ユーザーは、ディレクトリ内のファイルを作成することができ、このディレクトリに作成したユーザーは、このディレクトリに属しているファイルが属していますグループ。

SGIDが特長:
1、SGIDバイナリプログラム、ファイルまたはディレクトリが効果的である;
2、プログラムのためのプログラムの幹部、「X」権限を持っている必要があります;
3、実装者は、実装プロセスでプログラムグループを受け取ることになりますサポート;

3、SBIT

SBITスティッキービットは、それが他のユーザの権限の実行に表示され、それが唯一のディレクトリに設定することができます。1はSBITディレクトリのアクセス権を持っている場合は、このディレクトリ内の任意のユーザーのファイルを構築することができ、ユーザーが作成したこのディレクトリ内のファイルは、rootユーザーだけが、自分のして他のユーザーができません削除することができます。/ tmpが良い例であり、例えば:

[lv@localhost tmp]$ touch a.txt    #用户“lv”在tmp目录下创建一个文件
[lv@localhost tmp]$ ls -ld /tmp    
#确认/tmp目录的权限为777,并且有“t”权限
drwxrwxrwt. 16 root root 4096 8月  13 16:27 /tmp
[lv@localhost tmp]$ chmod 777 a.txt    #将新建的文件改为777权限
[lv@localhost tmp]$ ls -ld a.txt    #确认一下
-rwxrwxrwx 1 lv lv 0 8月  13 16:27 a.txt
#至此,在一般目录下,所有人都可以删除这个a.txt文件了
#但由于/tmp目录有“t”的特殊权限,所以并不可以,来验证一下
[lv@localhost tmp]$ su lvjianzhao  #切换至另一个用户
密码:
[lvjianzhao@localhost tmp]$ rm -rf a.txt     #进行强制删除,会提示以下
rm: 无法删除"a.txt": 不允许的操作

これはSBITの役割です。

私たちは、chmodコマンドを使用している、2つの方法がありますSUID、SGIDとSBITを変更し、chmodコマンドは、一般的な権限を変更することができますか、あなたはこれらの3つの特別な権限を変更することができ、

権威に対応するこれらの3つの特別な権限:
SUID 4 =。
SGID = 2
SBIT 1 =。

たとえば、あなたができる次の2つのコマンドのいずれかを実行した後、/ tmpディレクトリにSBITを許可を与えたいと思います。

[root@localhost /]# chmod o+t /tmp
                                   或
[root@localhost /]# chmod 1777 /tmp   #其中权限数字中的第一位就是特殊权限位

注意:Uを=ユーザー;グラム=基; O =他人を、一般的にデジタル著作権法、便利を使用する許可を変更することをお勧めします!

使用例:

[root@localhost /]# chmod o-t /tmp  #将/tmp目录去掉“t”的权限
[root@localhost /]# ls -ld /tmp    #查看,“t”的权限没有了,刚才的a.txt谁也可以删除了
drwxrwxrwx. 16 root root 4096 8月  13 16:30 /tmp
[root@localhost /]# chmod 1777 /tmp   #使用数字权限加上“t”的权限
[root@localhost /]# ls -ld /tmp
drwxrwxrwt. 16 root root 4096 8月  13 16:30 /tmp

おすすめ

転載: blog.51cto.com/14154700/2429203