Guido Socher ���ڿ� ����: �������� �����̰� ������ ����ü�� �ִ� ������ ���� ������ �Բ� ���� �� �ֱ� ������ �״� �������� ����Ѵ�. �״� �����ð����� ���� ���� ģ���� �����ų� BBC ���� ����� ��ų� ���� �����Ÿ� Ÿ�� ���ܸ� �����ų� �������� ��� ���� ����. |
���� ���� �������: �� ���� �� �κ����� ������ �ִ�: �⺻ ���� ���� ������������ ����ڰ� �ٸ� ���� ������ ���� ���Ͽ� ������ �� �ִ� ��Ƽ���� �ý����̴�. ��� ����ڴ� ���� ���� ���� ����� ���̵�� ���� ��ȣ�� ������ �ִ�. �� ����ڵ��� �ϳ� �Ǵ� ������ �쿡�� �����ִ�. �� ����� �� �� ����� ���� ���� ���ѿ� ���Ǿ��� �� �ִ�. �̰��� ������ ���� �۾��ڵ��� �� �۾��� ���� �Ѵ�. �ڽ��� ���̵�� ���� �ִ� ���� 'id'������ ����Ѵ�:
���� ������ �� ���ϸ��� ������(user), ��(group) ����
�ٸ� �����(others)�� ���� �⺻���� �б�(r), ����(w)��
����(x) ������ ������ �� �ִ�. "ls -l" �������� �� ������ Ȯ����
�� �ִ�.
���� "/usr/bin/id"�� ����ڰ� root�̰� root �쿡 ���� �ִ�. -rwxr-xr-x���� ǥ�ô� ���� ���� ������ �����ش�. �� ������ �����ڿ� ���� �б� ����(r), ���� ����(w) ���� ���� ����(x) �ϴ�. ��� �ٸ� ����ڴ� �б�(r)�� ����(x)�� �����ϴ�. �� ������, ��� �ٸ� ������� ��ġ�� �ִ� 3��Ʈ�� ǥ�÷μ� ���� ������
������ ���� �ִ�. r-x�� ��Ʈ ���������� 101�� ���������� 4+1=5��
��ġ�Ѵ�. r-bit�� ������ 4�� w-bit�� 2�� x-bit�� 1�� �����ȴ�.
chmod �������� �̷� ������ �ٲ� ���� �ִ�.
���ȿ� ���� ���� root�� ������ �����ڸ��� ������ ������ ���� �ִ�.
������ ���� ǥ���̳� ��ȣ ǥ�� ��� chmod�� ���Ǿ��� �� �ִ�.
��ȣ ǥ���� [ugoa][+-][rwx] �̴�. �̰��� u (user=file owner), g (group),
o(others), a(all=u and g and o)�� ������ ������ ���������� �����ϴ� + �Ǵ� -
���� r(read) w(write) x(execute)���� ��Ե� ���� ��ȣ ǥ���� ���ڷ� ǥ���� ���̴�.
"file.txt"�� ���(all)���� ���� ����(writable)�ϰ� �ϱ� ���ؼ���:
"chmod 644 file.txt"�� �� ������ ������ �����ڸ��� �б�+���� �����ϰ� �� �ܿ��� ���� �б⸸ ������ ������ �������� �������´�. ��� ���丮�� ���� ��(cd ������ �̿��Ͽ�)�� �� ���丮�� �����ϴ� �Ͱ�
����. ���� ���丮�� ���� ������ 755���� 644�� �ƴϴ�:
umask�� ������� �⺻ ������ �����Ѵ�. �⺻ ������ ���ο� ����(���� ���丮, ��...)���� ������ �� ����ȴ�. umask�� ����ڰ� ������ �ʴ� ���� ��Ʈ�� ��Ʈ�ϰ� �װ��� �������� ǥ���� ���� �Ű������� �´�. ���� ���μ� "umask 022"�� �ִ�. "022"�� ��� ������� ������ ���� �� �ְ� "cd"�δ� ���丮�� ������ �� ������ �����ڸ��� �װ��� ������ �� �ִ�. ������ umask�� ��� �����Ǿ��ִ��� �˾ƺ��� ���ؼ��� �ƹ� �Ű� ���� ���� umask�� �����Ű�� �Ǵ�. �Ʒ��� umask�� chmod�� ����� ���̴�:
�Ϲ� �����ϵ� ���̳ʸ� ������ ���� ���� ���ɸ� �ʿ������� ��ũ��Ʈ�� �ݵ�� �а� ���డ���ϰ� �� �ؾ��Ѵٴ� �Ϳ� �ָ��϶�. �̰��� ��ũ��Ʈ�� �ݵ�� ���� ���� ���������Ϳ� ���� �ݵ�� �������� �ϱ� �����̴�. ���� ��ũ��Ʈ�� �����ϸ� ������ ���� ���´�:
hello alice T-bit, SUID�� SGID�ѵ��� ���������� �۾��� �ϴٺ��� �Ƹ��� "rwx" ��Ʈ �̿� ���� ���� ���� ������ ������ �߰��� ���̴�. ������� ���� �ý����� �ѷ����� "s"�� "t"�� �ִ� ���� �� ���̴�:
�� "s"�� "t" ��Ʈ�� �����ϱ�? �� ���� ��Ʈ�� ���� 4 * 3 ��Ʈ �����̴�. ��� chmod 755�� chmod 0755�� ��ҵ� ����ϴ�. The t-bitt-bit(���� ������ ��Ʈ sticky bit ��� �� ��)�� ���丮�� ���Ǿ��� �������� �����ϴ�. �̰��� ������ ���� �Ͱ� ���� /tmp ���丮�� ���� ���Ǿ�����.�Ϲ������� (���丮�� T-bit ���� ����) ���ϵ��� ��� �ִ� ���丮�� �� ���ϵ��� ������� �ϴ� ������� ���� �����ϰ� �Ǿ� �ִٸ� �� ���ϵ��� ������ �� �ִ�. ���� ����ڰ� �ƹ��� ������ �־� ���� �� �ִ� ���丮�� ������ �ִٸ� ��� ������ �ٸ� ����� ������ ���� �� �ִ�.
T-bit�� �ٷ� �� ��Ģ�� �ٲ۴�. T-bit�� �����ϸ� �� ���丮�� �����ڿ�
������ �����ڸ��� �� ������ ���� �� �ִ�. chmod a+tw�� chmod 1777��
T-bit�� ������ �� �ִ�. ���� ���:
S-bit ����ڿ��� �������������� ���μ������� ����� ���̵� ������� ����ȴ�. �̰��� ����ڵ��� ������ ���ɼ��� �ִ� �ڿ�(���� ��)�� ����ڵ��� ������ �� �ְ� �Ѵ�. ���� ����� ���̵�(real user-ID)�� ��ȿ ����� ���̵�(effective user-ID)�� 2���� ����� ���̵� �ִ�. ��ȿ ����� ���̵� ���ϵ鿡 ���� ������ �����ϰ� �Ѵ�. �Ʒ��� ��ũ��Ʈ�� idinfo��� �̸����� �����ϰ� ���� �����ϰ� ������ (chmod 755 idinfo).
�����Ű�� ���μ����� ����Ǵ� ����� ���̵�� ������� �� ���̵� �� �� ���� ���̴�: effective user-ID: alice real user-ID: alice group ID: usersTux�� ����� idinfo ���α��� �����ϸ� Tux�� ���̵�� ���ư��� ���μ����� �����ִ� ����� ����� ���� ���̴�. �� ���α��� ����� ������ ������ ����� ������ �� ���� �ƴ϶� ������ ������ ����� �ǿ� ������ �´�.
������ ������ S-bit�� ��ũ��Ʈ��(perl ��ũ��Ʈ�� ����)������ �۵��� �ȵǰ�
���� ���̳ʸ�(������ �� �ڵ�)���� �۵��ȴ�. ���Ƿ� �츮�� idinfo
���α��� C ���α����� ������ �Ѵ�:
���� ���α��� "gcc -o suidtest -Wall suidtest.c"�� �������ϰ� S-bit�� ����ڿ��� �����϶�:
���� ���α��� �����϶�! � ���� �Ͼ�°�? �ƹ� �ϵ� �� �Ͼ��? �ٸ� ����ڷ� �� ���α��� �����϶�!
suidtest ������ alice ���� �����Ǿ��� �ְ�, ���������� ���� �����ڸ� ����
�����Ǿ����� �� ���� x�� ������ S-bit�� ������ �ִ�.
�̰��� �� ������ �����ϴ� ����ں��ٴ� ������ �����ϰ� �ִ� ������� ��ȿ
����� ���̵� ���� ����ǰԲ� �Ѵ�. ���� Tux�� �� ���α��� �����Ű��
������ ���� �ȴ�:
���ٽ��� root�� S-bit�� ������ �ִ� ������ �����ϰ� ���� �� Ư���� ���� ������ ����̴�. ��� ����ڵ� ���� root���� �� �� �ִ� ���� �� �� �ִ�. ������ ���� �����ϰ� ������ڸ�, ����ڰ� SUID ���α��� �ۼ��� ������ ����ڰ� �� �ǵ��ϴ� ���� ���Ǿ��� �� �ִ��� �ݵ�� Ȯ���ؾ� �Ѵ�. ȯ�溯���� ȯ�� ������ ����ϴ� �Լ��� �������� ���� �� �ڵ� �� Ȯ���ϰ� ��θ� �����ؾ� �Ѵ�. ���� ������� �Է�(config ����, command line �Ű� ���� ...) �� ���� ����. ������� �Է��� ����Ʈ���� �˻��ϰ� ����� ��ȿ�ϴٰ� �����ϴ� ���� ���ض�. SUID ���α��� root�� ���� �����Ǿ� ������ ��ȿ ����� ���̵�� ���� ����� ���̵� ��ΰ� (setreuid() �Լ��� ����Ͽ�) �����Ǿ��� �� �ִ� Set-UID ���α����� ���� root�� ���� �Ϲ������δ� root���� �� �� �ִ� ���� �Ϲ� ����ڵ��� �� �� �ְ� �ϴµ� ���Ǿ�����. root�μ� ����� ����� �ý��ۿ� �ִ� � ����ڳ� ����� ppp-on/ppp-off ��ũ��Ʈ�� ������ �� �ְ� suidtest.c �� ������ �� �ִ�. S-bit �쿡 ����S-bit�� �쿡 ���� ������ ���� ������ ������ ������� �� ���̵� ��ݿ��� ����ȴ�. �̰��� ������ ������ ����ڿ� ���� S-bit�� �ſ� �����ϴ�.
S-bit�� �� ���丮�� �쿡 ���� �����Ǿ� �ִٸ� �� ������ �� ���丮����
��������� ��� ���Ͽ� ������ �ȴ�. Alice�� 2���� �쿡 ���� �ִ�:
�Ϲ������� �׳డ ����� ���ϵ��� ���� users�� �����ȴ�. ���� ���丮��
disk ������ ������� �ְ� �� �쿡 ���� S-bit�� ������ �Ǿ� �ִٸ� ����� ����
��� ���ϵ� ���� disk �� ���̵� ������:
�� ����� ����� ��� ������ ���� ������ ���� �۾��� �ϰ� �� ���� �۾��ϴ� ���丮 ���� ���ϵ鿡�� ��� �ùٸ� ���� ������ �� �ְ� �ϴ� ���� ����̴�. Ư�� �� �̿� ������� ������ ���� �� �ְ� �ϴ� 027 umask�� ����ڵ鿡�� �����Ǿ� �ִ� ȯ�濡�� �����ϴ�.
���� : ��� |
�� ������Ʈ��Miguel Angel Sepulveda���� �����մϴ�.
© Guido Socher 1999 LinuxFocus 1999 |